﻿//Copyright (c) 2010 Christopher E. S. King (http://chriskingconsulting.com)
//
//Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files 
// (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, 
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do 
// so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE 
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Data.Linq;
using System.Data.Linq.Mapping;

namespace King.Database.Microsoft {

    public abstract partial class ObjectsBase {

        #region Public Members
        public abstract DateTime CreateDate { get; set; }
        public abstract bool? IsMsShipped { get; set; }
        public abstract bool? IsPublished { get; set; }
        public abstract bool? IsSchemaPublished { get; set; }
        public abstract DateTime ModifyDate { get; set; }
        public abstract string Name { get; set; }
        public abstract int ObjectId { get; set; }
        public abstract int ParentObjectId { get; set; }
        public abstract int? PrincipalId { get; set; }
        public abstract int SchemaId { get; set; }
        public abstract string Type { get; set; }
        public abstract string TypeDesc { get; set; }
        #endregion
    }

    #region Reflection
    #region Metadata
    [Table(Name = "sys.all_columns")]
    public sealed partial class AllColumns {

        #region Public Members
        [Column(Name = "collation_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string CollationName { get; set; }
        [Column(Name = "column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnId { get; set; }
        [Column(Name = "default_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DefaultObjectId { get; set; }
        [Column(Name = "is_ansi_padded", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAnsiPadded { get; set; }
        [Column(Name = "is_computed", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsComputed { get; set; }
        [Column(Name = "is_dts_replicated"), SqlType(SqlTypeType.Bit)]
        public bool? IsDtsReplicated { get; set; }
        [Column(Name = "is_filestream", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFilestream { get; set; }
        [Column(Name = "is_identity", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsIdentity { get; set; }
        [Column(Name = "is_merge_published"), SqlType(SqlTypeType.Bit)]
        public bool? IsMergePublished { get; set; }
        [Column(Name = "is_non_sql_subscribed"), SqlType(SqlTypeType.Bit)]
        public bool? IsNonSqlSubscribed { get; set; }
        [Column(Name = "is_nullable"), SqlType(SqlTypeType.Bit)]
        public bool? IsNullable { get; set; }
        [Column(Name = "is_replicated"), SqlType(SqlTypeType.Bit)]
        public bool? IsReplicated { get; set; }
        [Column(Name = "is_rowguidcol", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRowguidcol { get; set; }
        [Column(Name = "is_xml_document", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsXmlDocument { get; set; }
        [Column(Name = "max_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxLength { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Precision { get; set; }
        [Column(Name = "rule_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RuleObjectId { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "system_type_id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SystemTypeId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.all_parameters")]
    public sealed partial class AllParameters {

        #region Public Members
        [Column(Name = "default_value"), SqlType(SqlTypeType.SqlVariant)]
        public object DefaultValue { get; set; }
        [Column(Name = "has_default_value", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool HasDefaultValue { get; set; }
        [Column(Name = "is_cursor_ref", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsCursorRef { get; set; }
        [Column(Name = "is_output", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsOutput { get; set; }
        [Column(Name = "is_xml_document", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsXmlDocument { get; set; }
        [Column(Name = "max_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxLength { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "parameter_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParameterId { get; set; }
        [Column(Name = "precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Precision { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "system_type_id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SystemTypeId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.all_sql_modules")]
    public sealed partial class AllSqlModules {

        #region Public Members
        [Column(Name = "definition"), SqlType(SqlTypeType.NVarChar, Length = -1)]
        public string Definition { get; set; }
        [Column(Name = "execute_as_principal_id"), SqlType(SqlTypeType.Int)]
        public int? ExecuteAsPrincipalId { get; set; }
        [Column(Name = "is_recompiled"), SqlType(SqlTypeType.Bit)]
        public bool? IsRecompiled { get; set; }
        [Column(Name = "is_schema_bound"), SqlType(SqlTypeType.Bit)]
        public bool? IsSchemaBound { get; set; }
        [Column(Name = "null_on_null_input"), SqlType(SqlTypeType.Bit)]
        public bool? NullOnNullInput { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "uses_ansi_nulls"), SqlType(SqlTypeType.Bit)]
        public bool? UsesAnsiNulls { get; set; }
        [Column(Name = "uses_database_collation"), SqlType(SqlTypeType.Bit)]
        public bool? UsesDatabaseCollation { get; set; }
        [Column(Name = "uses_quoted_identifier"), SqlType(SqlTypeType.Bit)]
        public bool? UsesQuotedIdentifier { get; set; }
        #endregion
    }
    [Table(Name = "sys.allocation_units")]
    public sealed partial class AllocationUnits {

        #region Public Members
        [Column(Name = "allocation_unit_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long AllocationUnitId { get; set; }
        [Column(Name = "container_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long ContainerId { get; set; }
        [Column(Name = "data_pages", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long DataPages { get; set; }
        [Column(Name = "data_space_id"), SqlType(SqlTypeType.Int)]
        public int? DataSpaceId { get; set; }
        [Column(Name = "total_pages", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TotalPages { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        [Column(Name = "used_pages", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long UsedPages { get; set; }
        #endregion
    }
    [Table(Name = "sys.assembly_modules")]
    public sealed partial class AssemblyModules {

        #region Public Members
        [Column(Name = "assembly_class"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string AssemblyClass { get; set; }
        [Column(Name = "assembly_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int AssemblyId { get; set; }
        [Column(Name = "assembly_method"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string AssemblyMethod { get; set; }
        [Column(Name = "execute_as_principal_id"), SqlType(SqlTypeType.Int)]
        public int? ExecuteAsPrincipalId { get; set; }
        [Column(Name = "null_on_null_input"), SqlType(SqlTypeType.Bit)]
        public bool? NullOnNullInput { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        #endregion
    }
    [Table(Name = "sys.columns")]
    public sealed partial class Columns {

        #region Public Members
        [Column(Name = "collation_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string CollationName { get; set; }
        [Column(Name = "column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnId { get; set; }
        [Column(Name = "default_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DefaultObjectId { get; set; }
        [Column(Name = "is_ansi_padded", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAnsiPadded { get; set; }
        [Column(Name = "is_computed", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsComputed { get; set; }
        [Column(Name = "is_dts_replicated"), SqlType(SqlTypeType.Bit)]
        public bool? IsDtsReplicated { get; set; }
        [Column(Name = "is_filestream", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFilestream { get; set; }
        [Column(Name = "is_identity", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsIdentity { get; set; }
        [Column(Name = "is_merge_published"), SqlType(SqlTypeType.Bit)]
        public bool? IsMergePublished { get; set; }
        [Column(Name = "is_non_sql_subscribed"), SqlType(SqlTypeType.Bit)]
        public bool? IsNonSqlSubscribed { get; set; }
        [Column(Name = "is_nullable"), SqlType(SqlTypeType.Bit)]
        public bool? IsNullable { get; set; }
        [Column(Name = "is_replicated"), SqlType(SqlTypeType.Bit)]
        public bool? IsReplicated { get; set; }
        [Column(Name = "is_rowguidcol", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRowguidcol { get; set; }
        [Column(Name = "is_xml_document", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsXmlDocument { get; set; }
        [Column(Name = "max_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxLength { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Precision { get; set; }
        [Column(Name = "rule_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RuleObjectId { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "system_type_id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SystemTypeId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.computed_columns")]
    public sealed partial class ComputedColumns {

        #region Public Members
        [Column(Name = "collation_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string CollationName { get; set; }
        [Column(Name = "column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnId { get; set; }
        [Column(Name = "default_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DefaultObjectId { get; set; }
        [Column(Name = "definition"), SqlType(SqlTypeType.NVarChar, Length = -1)]
        public string Definition { get; set; }
        [Column(Name = "is_ansi_padded", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAnsiPadded { get; set; }
        [Column(Name = "is_dts_replicated"), SqlType(SqlTypeType.Bit)]
        public bool? IsDtsReplicated { get; set; }
        [Column(Name = "is_filestream", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFilestream { get; set; }
        [Column(Name = "is_identity", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsIdentity { get; set; }
        [Column(Name = "is_merge_published"), SqlType(SqlTypeType.Bit)]
        public bool? IsMergePublished { get; set; }
        [Column(Name = "is_non_sql_subscribed"), SqlType(SqlTypeType.Bit)]
        public bool? IsNonSqlSubscribed { get; set; }
        [Column(Name = "is_nullable"), SqlType(SqlTypeType.Bit)]
        public bool? IsNullable { get; set; }
        [Column(Name = "is_persisted", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsPersisted { get; set; }
        [Column(Name = "is_replicated"), SqlType(SqlTypeType.Bit)]
        public bool? IsReplicated { get; set; }
        [Column(Name = "is_rowguidcol", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRowguidcol { get; set; }
        [Column(Name = "is_xml_document", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsXmlDocument { get; set; }
        [Column(Name = "max_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxLength { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Precision { get; set; }
        [Column(Name = "rule_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RuleObjectId { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "system_type_id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SystemTypeId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        [Column(Name = "uses_database_collation", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool UsesDatabaseCollation { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.event_notification_event_types")]
    public sealed partial class EventNotificationEventTypes {

        #region Public Members
        [Column(Name = "type"), SqlType(SqlTypeType.Int)]
        public int? Type { get; set; }
        [Column(Name = "type_name"), SqlType(SqlTypeType.NVarChar, Length = 128)]
        public string TypeName { get; set; }
        #endregion
    }
    [Table(Name = "sys.event_notifications")]
    public sealed partial class EventNotifications {

        #region Public Members
        [Column(Name = "broker_instance"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string BrokerInstance { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "creator_sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary CreatorSid { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "parent_class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte ParentClass { get; set; }
        [Column(Name = "parent_class_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ParentClassDesc { get; set; }
        [Column(Name = "parent_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParentId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "service_name"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string ServiceName { get; set; }
        #endregion
    }
    [Table(Name = "sys.events")]
    public sealed partial class Events {

        #region Public Members
        [Column(Name = "is_trigger_event"), SqlType(SqlTypeType.Bit)]
        public bool? IsTriggerEvent { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.foreign_key_columns")]
    public sealed partial class ForeignKeyColumns {

        #region Public Members
        [Column(Name = "constraint_column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ConstraintColumnId { get; set; }
        [Column(Name = "constraint_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ConstraintObjectId { get; set; }
        [Column(Name = "parent_column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParentColumnId { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParentObjectId { get; set; }
        [Column(Name = "referenced_column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ReferencedColumnId { get; set; }
        [Column(Name = "referenced_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ReferencedObjectId { get; set; }
        #endregion
    }
    [Table(Name = "sys.identity_columns")]
    public sealed partial class IdentityColumns {

        #region Public Members
        [Column(Name = "collation_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string CollationName { get; set; }
        [Column(Name = "column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnId { get; set; }
        [Column(Name = "default_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DefaultObjectId { get; set; }
        [Column(Name = "increment_value"), SqlType(SqlTypeType.SqlVariant)]
        public object IncrementValue { get; set; }
        [Column(Name = "is_ansi_padded", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAnsiPadded { get; set; }
        [Column(Name = "is_dts_replicated"), SqlType(SqlTypeType.Bit)]
        public bool? IsDtsReplicated { get; set; }
        [Column(Name = "is_filestream", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFilestream { get; set; }
        [Column(Name = "is_identity", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsIdentity { get; set; }
        [Column(Name = "is_merge_published"), SqlType(SqlTypeType.Bit)]
        public bool? IsMergePublished { get; set; }
        [Column(Name = "is_non_sql_subscribed"), SqlType(SqlTypeType.Bit)]
        public bool? IsNonSqlSubscribed { get; set; }
        [Column(Name = "is_not_for_replication"), SqlType(SqlTypeType.Bit)]
        public bool? IsNotForReplication { get; set; }
        [Column(Name = "is_nullable"), SqlType(SqlTypeType.Bit)]
        public bool? IsNullable { get; set; }
        [Column(Name = "is_replicated"), SqlType(SqlTypeType.Bit)]
        public bool? IsReplicated { get; set; }
        [Column(Name = "is_rowguidcol", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRowguidcol { get; set; }
        [Column(Name = "is_xml_document", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsXmlDocument { get; set; }
        [Column(Name = "last_value"), SqlType(SqlTypeType.SqlVariant)]
        public object LastValue { get; set; }
        [Column(Name = "max_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxLength { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Precision { get; set; }
        [Column(Name = "rule_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RuleObjectId { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "seed_value"), SqlType(SqlTypeType.SqlVariant)]
        public object SeedValue { get; set; }
        [Column(Name = "system_type_id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SystemTypeId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.index_columns")]
    public sealed partial class IndexColumns {

        #region Public Members
        [Column(Name = "column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnId { get; set; }
        [Column(Name = "index_column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IndexColumnId { get; set; }
        [Column(Name = "index_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IndexId { get; set; }
        [Column(Name = "is_descending_key"), SqlType(SqlTypeType.Bit)]
        public bool? IsDescendingKey { get; set; }
        [Column(Name = "is_included_column"), SqlType(SqlTypeType.Bit)]
        public bool? IsIncludedColumn { get; set; }
        [Column(Name = "key_ordinal", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte KeyOrdinal { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "partition_ordinal", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte PartitionOrdinal { get; set; }
        #endregion
    }
    [Table(Name = "sys.indexes")]
    public sealed partial class Indexes {

        #region Public Members
        [Column(Name = "allow_page_locks"), SqlType(SqlTypeType.Bit)]
        public bool? AllowPageLocks { get; set; }
        [Column(Name = "allow_row_locks"), SqlType(SqlTypeType.Bit)]
        public bool? AllowRowLocks { get; set; }
        [Column(Name = "data_space_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DataSpaceId { get; set; }
        [Column(Name = "fill_factor", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte FillFactor { get; set; }
        [Column(Name = "ignore_dup_key"), SqlType(SqlTypeType.Bit)]
        public bool? IgnoreDupKey { get; set; }
        [Column(Name = "index_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IndexId { get; set; }
        [Column(Name = "is_disabled"), SqlType(SqlTypeType.Bit)]
        public bool? IsDisabled { get; set; }
        [Column(Name = "is_hypothetical"), SqlType(SqlTypeType.Bit)]
        public bool? IsHypothetical { get; set; }
        [Column(Name = "is_padded"), SqlType(SqlTypeType.Bit)]
        public bool? IsPadded { get; set; }
        [Column(Name = "is_primary_key"), SqlType(SqlTypeType.Bit)]
        public bool? IsPrimaryKey { get; set; }
        [Column(Name = "is_unique"), SqlType(SqlTypeType.Bit)]
        public bool? IsUnique { get; set; }
        [Column(Name = "is_unique_constraint"), SqlType(SqlTypeType.Bit)]
        public bool? IsUniqueConstraint { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.module_assembly_usages")]
    public sealed partial class ModuleAssemblyUsages {

        #region Public Members
        [Column(Name = "assembly_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int AssemblyId { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        #endregion
    }
    [Table(Name = "sys.numbered_procedure_parameters")]
    public sealed partial class NumberedProcedureParameters {

        #region Public Members
        [Column(Name = "is_cursor_ref", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsCursorRef { get; set; }
        [Column(Name = "is_output", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsOutput { get; set; }
        [Column(Name = "max_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxLength { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "parameter_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParameterId { get; set; }
        [Column(Name = "precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Precision { get; set; }
        [Column(Name = "procedure_number", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short ProcedureNumber { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "system_type_id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SystemTypeId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        #endregion
    }
    [Table(Name = "sys.numbered_procedures")]
    public sealed partial class NumberedProcedures {

        #region Public Members
        [Column(Name = "definition"), SqlType(SqlTypeType.NVarChar, Length = -1)]
        public string Definition { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "procedure_number"), SqlType(SqlTypeType.SmallInt)]
        public short? ProcedureNumber { get; set; }
        #endregion
    }
    [Table(Name = "sys.parameters")]
    public sealed partial class Parameters {

        #region Public Members
        [Column(Name = "default_value"), SqlType(SqlTypeType.SqlVariant)]
        public object DefaultValue { get; set; }
        [Column(Name = "has_default_value", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool HasDefaultValue { get; set; }
        [Column(Name = "is_cursor_ref", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsCursorRef { get; set; }
        [Column(Name = "is_output", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsOutput { get; set; }
        [Column(Name = "is_xml_document", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsXmlDocument { get; set; }
        [Column(Name = "max_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxLength { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "parameter_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParameterId { get; set; }
        [Column(Name = "precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Precision { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "system_type_id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SystemTypeId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.partitions")]
    public sealed partial class Partitions {

        #region Public Members
        [Column(Name = "hobt_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long HobtId { get; set; }
        [Column(Name = "index_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IndexId { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "partition_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PartitionId { get; set; }
        [Column(Name = "partition_number", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PartitionNumber { get; set; }
        [Column(Name = "rows", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Rows { get; set; }
        #endregion
    }
    [Table(Name = "sys.plan_guides")]
    public sealed partial class PlanGuides {

        #region Public Members
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "hints"), SqlType(SqlTypeType.NVarChar, Length = -1)]
        public string Hints { get; set; }
        [Column(Name = "is_disabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDisabled { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "parameters"), SqlType(SqlTypeType.NVarChar, Length = -1)]
        public string Parameters { get; set; }
        [Column(Name = "plan_guide_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PlanGuideId { get; set; }
        [Column(Name = "query_text"), SqlType(SqlTypeType.NVarChar, Length = -1)]
        public string QueryText { get; set; }
        [Column(Name = "scope_batch"), SqlType(SqlTypeType.NVarChar, Length = -1)]
        public string ScopeBatch { get; set; }
        [Column(Name = "scope_object_id"), SqlType(SqlTypeType.Int)]
        public int? ScopeObjectId { get; set; }
        [Column(Name = "scope_type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte ScopeType { get; set; }
        [Column(Name = "scope_type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ScopeTypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.server_assembly_modules")]
    public sealed partial class ServerAssemblyModules {

        #region Public Members
        [Column(Name = "assembly_class"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string AssemblyClass { get; set; }
        [Column(Name = "assembly_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int AssemblyId { get; set; }
        [Column(Name = "assembly_method"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string AssemblyMethod { get; set; }
        [Column(Name = "execute_as_principal_id"), SqlType(SqlTypeType.Int)]
        public int? ExecuteAsPrincipalId { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        #endregion
    }
    [Table(Name = "sys.server_event_notifications")]
    public sealed partial class ServerEventNotifications {

        #region Public Members
        [Column(Name = "broker_instance"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string BrokerInstance { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "creator_sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary CreatorSid { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "parent_class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte ParentClass { get; set; }
        [Column(Name = "parent_class_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ParentClassDesc { get; set; }
        [Column(Name = "parent_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParentId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "service_name"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string ServiceName { get; set; }
        #endregion
    }
    [Table(Name = "sys.server_events")]
    public sealed partial class ServerEvents {

        #region Public Members
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.server_sql_modules")]
    public sealed partial class ServerSqlModules {

        #region Public Members
        [Column(Name = "definition"), SqlType(SqlTypeType.NVarChar, Length = -1)]
        public string Definition { get; set; }
        [Column(Name = "execute_as_principal_id"), SqlType(SqlTypeType.Int)]
        public int? ExecuteAsPrincipalId { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "uses_ansi_nulls"), SqlType(SqlTypeType.Bit)]
        public bool? UsesAnsiNulls { get; set; }
        [Column(Name = "uses_quoted_identifier"), SqlType(SqlTypeType.Bit)]
        public bool? UsesQuotedIdentifier { get; set; }
        #endregion
    }
    [Table(Name = "sys.server_trigger_events")]
    public sealed partial class ServerTriggerEvents {

        #region Public Members
        [Column(Name = "is_first"), SqlType(SqlTypeType.Bit)]
        public bool? IsFirst { get; set; }
        [Column(Name = "is_last"), SqlType(SqlTypeType.Bit)]
        public bool? IsLast { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.server_triggers")]
    public sealed partial class ServerTriggers {

        #region Public Members
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "is_disabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDisabled { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsMsShipped { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "parent_class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte ParentClass { get; set; }
        [Column(Name = "parent_class_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ParentClassDesc { get; set; }
        [Column(Name = "parent_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParentId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.sql_dependencies")]
    public sealed partial class SqlDependencies {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "class_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ClassDesc { get; set; }
        [Column(Name = "column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnId { get; set; }
        [Column(Name = "is_select_all", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSelectAll { get; set; }
        [Column(Name = "is_selected", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSelected { get; set; }
        [Column(Name = "is_updated", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsUpdated { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "referenced_major_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ReferencedMajorId { get; set; }
        [Column(Name = "referenced_minor_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ReferencedMinorId { get; set; }
        #endregion
    }
    [Table(Name = "sys.sql_modules")]
    public sealed partial class SqlModules {

        #region Public Members
        [Column(Name = "definition"), SqlType(SqlTypeType.NVarChar, Length = -1)]
        public string Definition { get; set; }
        [Column(Name = "execute_as_principal_id"), SqlType(SqlTypeType.Int)]
        public int? ExecuteAsPrincipalId { get; set; }
        [Column(Name = "is_recompiled"), SqlType(SqlTypeType.Bit)]
        public bool? IsRecompiled { get; set; }
        [Column(Name = "is_schema_bound"), SqlType(SqlTypeType.Bit)]
        public bool? IsSchemaBound { get; set; }
        [Column(Name = "null_on_null_input"), SqlType(SqlTypeType.Bit)]
        public bool? NullOnNullInput { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "uses_ansi_nulls"), SqlType(SqlTypeType.Bit)]
        public bool? UsesAnsiNulls { get; set; }
        [Column(Name = "uses_database_collation"), SqlType(SqlTypeType.Bit)]
        public bool? UsesDatabaseCollation { get; set; }
        [Column(Name = "uses_quoted_identifier"), SqlType(SqlTypeType.Bit)]
        public bool? UsesQuotedIdentifier { get; set; }
        #endregion
    }
    [Table(Name = "sys.stats")]
    public sealed partial class Stats {

        #region Public Members
        [Column(Name = "auto_created"), SqlType(SqlTypeType.Bit)]
        public bool? AutoCreated { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "no_recompute"), SqlType(SqlTypeType.Bit)]
        public bool? NoRecompute { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "stats_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int StatsId { get; set; }
        [Column(Name = "user_created", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool UserCreated { get; set; }
        #endregion
    }
    [Table(Name = "sys.stats_columns")]
    public sealed partial class StatsColumns {

        #region Public Members
        [Column(Name = "column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnId { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "stats_column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int StatsColumnId { get; set; }
        [Column(Name = "stats_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int StatsId { get; set; }
        #endregion
    }
    [Table(Name = "sys.system_columns")]
    public sealed partial class SystemColumns {

        #region Public Members
        [Column(Name = "collation_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string CollationName { get; set; }
        [Column(Name = "column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnId { get; set; }
        [Column(Name = "default_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DefaultObjectId { get; set; }
        [Column(Name = "is_ansi_padded", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAnsiPadded { get; set; }
        [Column(Name = "is_computed", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsComputed { get; set; }
        [Column(Name = "is_dts_replicated", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDtsReplicated { get; set; }
        [Column(Name = "is_filestream", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFilestream { get; set; }
        [Column(Name = "is_identity", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsIdentity { get; set; }
        [Column(Name = "is_merge_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsMergePublished { get; set; }
        [Column(Name = "is_non_sql_subscribed", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsNonSqlSubscribed { get; set; }
        [Column(Name = "is_nullable"), SqlType(SqlTypeType.Bit)]
        public bool? IsNullable { get; set; }
        [Column(Name = "is_replicated", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsReplicated { get; set; }
        [Column(Name = "is_rowguidcol", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRowguidcol { get; set; }
        [Column(Name = "is_xml_document", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsXmlDocument { get; set; }
        [Column(Name = "max_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxLength { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Precision { get; set; }
        [Column(Name = "rule_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RuleObjectId { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "system_type_id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SystemTypeId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.system_parameters")]
    public sealed partial class SystemParameters {

        #region Public Members
        [Column(Name = "default_value"), SqlType(SqlTypeType.SqlVariant)]
        public object DefaultValue { get; set; }
        [Column(Name = "has_default_value", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool HasDefaultValue { get; set; }
        [Column(Name = "is_cursor_ref", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsCursorRef { get; set; }
        [Column(Name = "is_output", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsOutput { get; set; }
        [Column(Name = "is_xml_document", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsXmlDocument { get; set; }
        [Column(Name = "max_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxLength { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "parameter_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParameterId { get; set; }
        [Column(Name = "precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Precision { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "system_type_id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SystemTypeId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.system_sql_modules")]
    public sealed partial class SystemSqlModules {

        #region Public Members
        [Column(Name = "definition"), SqlType(SqlTypeType.NVarChar, Length = -1)]
        public string Definition { get; set; }
        [Column(Name = "execute_as_principal_id"), SqlType(SqlTypeType.Int)]
        public int? ExecuteAsPrincipalId { get; set; }
        [Column(Name = "is_recompiled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRecompiled { get; set; }
        [Column(Name = "is_schema_bound", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSchemaBound { get; set; }
        [Column(Name = "null_on_null_input", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool NullOnNullInput { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "uses_ansi_nulls", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool UsesAnsiNulls { get; set; }
        [Column(Name = "uses_database_collation", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool UsesDatabaseCollation { get; set; }
        [Column(Name = "uses_quoted_identifier", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool UsesQuotedIdentifier { get; set; }
        #endregion
    }
    [Table(Name = "sys.trigger_events")]
    public sealed partial class TriggerEvents {

        #region Public Members
        [Column(Name = "is_first"), SqlType(SqlTypeType.Bit)]
        public bool? IsFirst { get; set; }
        [Column(Name = "is_last"), SqlType(SqlTypeType.Bit)]
        public bool? IsLast { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.triggers")]
    public sealed partial class Triggers {

        #region Public Members
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "is_disabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDisabled { get; set; }
        [Column(Name = "is_instead_of_trigger", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsInsteadOfTrigger { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsMsShipped { get; set; }
        [Column(Name = "is_not_for_replication", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsNotForReplication { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "parent_class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte ParentClass { get; set; }
        [Column(Name = "parent_class_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ParentClassDesc { get; set; }
        [Column(Name = "parent_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParentId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    #endregion

    #region Objects
    [Table(Name = "sys.all_objects")]
    public sealed partial class AllObjects : ObjectsBase {

        #region Associations
        private EntityRef<AllViews> m_allViews;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_allViews")]
        public AllViews AsAllViews {
            get { return m_allViews.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<CheckConstraints> m_checkConstraints;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_checkConstraints")]
        public CheckConstraints AsCheckConstraints {
            get { return m_checkConstraints.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<DefaultConstraints> m_defaultConstraints;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_defaultConstraints")]
        public DefaultConstraints AsDefaultConstraints {
            get { return m_defaultConstraints.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<ExtendedProcedures> m_extendedProcedures;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_extendedProcedures")]
        public ExtendedProcedures AsExtendedProcedures {
            get { return m_extendedProcedures.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<ForeignKeys> m_foreignKeys;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_foreignKeys")]
        public ForeignKeys AsForeignKeys {
            get { return m_foreignKeys.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<InternalTables> m_internalTables;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_internalTables")]
        public InternalTables AsInternalTables {
            get { return m_internalTables.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<KeyConstraints> m_keyConstraints;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_keyConstraints")]
        public KeyConstraints AsKeyConstraints {
            get { return m_keyConstraints.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<Procedures> m_procedures;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_procedures")]
        public Procedures AsProcedures {
            get { return m_procedures.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<ServiceQueues> m_serviceQueues;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_serviceQueues")]
        public ServiceQueues AsServiceQueues {
            get { return m_serviceQueues.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<Synonyms> m_synonyms;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_synonyms")]
        public Synonyms AsSynonyms {
            get { return m_synonyms.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<SystemObjects> m_systemObjects;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_systemObjects")]
        public SystemObjects AsSystemObjects {
            get { return m_systemObjects.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<SystemViews> m_systemViews;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_systemViews")]
        public SystemViews AsSystemViews {
            get { return m_systemViews.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<Tables> m_tables;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_tables")]
        public Tables AsTables {
            get { return m_tables.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<Views> m_views;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_views")]
        public Views AsViews {
            get { return m_views.Entity; }
            set { throw new NotImplementedException(); }
        }
        #endregion

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.all_views")]
    public sealed partial class AllViews : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "has_opaque_metadata", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool HasOpaqueMetadata { get; set; }
        [Column(Name = "has_replication_filter"), SqlType(SqlTypeType.Bit)]
        public bool? HasReplicationFilter { get; set; }
        [Column(Name = "has_unchecked_assembly_data", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool HasUncheckedAssemblyData { get; set; }
        [Column(Name = "is_date_correlation_view", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDateCorrelationView { get; set; }
        [Column(Name = "is_replicated"), SqlType(SqlTypeType.Bit)]
        public bool? IsReplicated { get; set; }
        [Column(Name = "with_check_option", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool WithCheckOption { get; set; }
        #endregion
    }
    [Table(Name = "sys.check_constraints")]
    public sealed partial class CheckConstraints : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "definition"), SqlType(SqlTypeType.NVarChar, Length = -1)]
        public string Definition { get; set; }
        [Column(Name = "is_disabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDisabled { get; set; }
        [Column(Name = "is_not_for_replication", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsNotForReplication { get; set; }
        [Column(Name = "is_not_trusted", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsNotTrusted { get; set; }
        [Column(Name = "is_system_named", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSystemNamed { get; set; }
        [Column(Name = "parent_column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParentColumnId { get; set; }
        [Column(Name = "uses_database_collation"), SqlType(SqlTypeType.Bit)]
        public bool? UsesDatabaseCollation { get; set; }
        #endregion
    }
    [Table(Name = "sys.default_constraints")]
    public sealed partial class DefaultConstraints : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "definition"), SqlType(SqlTypeType.NVarChar, Length = -1)]
        public string Definition { get; set; }
        [Column(Name = "is_system_named", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSystemNamed { get; set; }
        [Column(Name = "parent_column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParentColumnId { get; set; }
        #endregion
    }
    [Table(Name = "sys.extended_procedures")]
    public sealed partial class ExtendedProcedures : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "dll_name"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string DllName { get; set; }
        #endregion
    }
    [Table(Name = "sys.foreign_keys")]
    public sealed partial class ForeignKeys : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "delete_referential_action"), SqlType(SqlTypeType.TinyInt)]
        public byte? DeleteReferentialAction { get; set; }
        [Column(Name = "delete_referential_action_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string DeleteReferentialActionDesc { get; set; }
        [Column(Name = "is_disabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDisabled { get; set; }
        [Column(Name = "is_not_for_replication", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsNotForReplication { get; set; }
        [Column(Name = "is_not_trusted", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsNotTrusted { get; set; }
        [Column(Name = "is_system_named", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSystemNamed { get; set; }
        [Column(Name = "key_index_id"), SqlType(SqlTypeType.Int)]
        public int? KeyIndexId { get; set; }
        [Column(Name = "referenced_object_id"), SqlType(SqlTypeType.Int)]
        public int? ReferencedObjectId { get; set; }
        [Column(Name = "update_referential_action"), SqlType(SqlTypeType.TinyInt)]
        public byte? UpdateReferentialAction { get; set; }
        [Column(Name = "update_referential_action_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string UpdateReferentialActionDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.internal_tables")]
    public sealed partial class InternalTables : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped"), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published"), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published"), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "filestream_data_space_id"), SqlType(SqlTypeType.Int)]
        public int? FilestreamDataSpaceId { get; set; }
        [Column(Name = "internal_type"), SqlType(SqlTypeType.TinyInt)]
        public byte? InternalType { get; set; }
        [Column(Name = "internal_type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string InternalTypeDesc { get; set; }
        [Column(Name = "lob_data_space_id"), SqlType(SqlTypeType.Int)]
        public int? LobDataSpaceId { get; set; }
        [Column(Name = "parent_id"), SqlType(SqlTypeType.Int)]
        public int? ParentId { get; set; }
        [Column(Name = "parent_minor_id"), SqlType(SqlTypeType.Int)]
        public int? ParentMinorId { get; set; }
        #endregion
    }
    [Table(Name = "sys.key_constraints")]
    public sealed partial class KeyConstraints : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "is_system_named", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSystemNamed { get; set; }
        [Column(Name = "unique_index_id"), SqlType(SqlTypeType.Int)]
        public int? UniqueIndexId { get; set; }
        #endregion
    }
    [Table(Name = "sys.objects")]
    public sealed partial class Objects : ObjectsBase {

        #region Associations
        private EntityRef<AllViews> m_allViews;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_allViews")]
        public AllViews AsAllViews {
            get { return m_allViews.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<CheckConstraints> m_checkConstraints;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_checkConstraints")]
        public CheckConstraints AsCheckConstraints {
            get { return m_checkConstraints.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<DefaultConstraints> m_defaultConstraints;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_defaultConstraints")]
        public DefaultConstraints AsDefaultConstraints {
            get { return m_defaultConstraints.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<ExtendedProcedures> m_extendedProcedures;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_extendedProcedures")]
        public ExtendedProcedures AsExtendedProcedures {
            get { return m_extendedProcedures.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<ForeignKeys> m_foreignKeys;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_foreignKeys")]
        public ForeignKeys AsForeignKeys {
            get { return m_foreignKeys.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<InternalTables> m_internalTables;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_internalTables")]
        public InternalTables AsInternalTables {
            get { return m_internalTables.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<KeyConstraints> m_keyConstraints;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_keyConstraints")]
        public KeyConstraints AsKeyConstraints {
            get { return m_keyConstraints.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<Procedures> m_procedures;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_procedures")]
        public Procedures AsProcedures {
            get { return m_procedures.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<ServiceQueues> m_serviceQueues;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_serviceQueues")]
        public ServiceQueues AsServiceQueues {
            get { return m_serviceQueues.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<Synonyms> m_synonyms;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_synonyms")]
        public Synonyms AsSynonyms {
            get { return m_synonyms.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<SystemObjects> m_systemObjects;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_systemObjects")]
        public SystemObjects AsSystemObjects {
            get { return m_systemObjects.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<SystemViews> m_systemViews;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_systemViews")]
        public SystemViews AsSystemViews {
            get { return m_systemViews.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<Tables> m_tables;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_tables")]
        public Tables AsTables {
            get { return m_tables.Entity; }
            set { throw new NotImplementedException(); }
        }
        private EntityRef<Views> m_views;
        [Association(ThisKey = "ObjectId", IsForeignKey = true, Storage = "m_views")]
        public Views AsViews {
            get { return m_views.Entity; }
            set { throw new NotImplementedException(); }
        }
        #endregion

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.procedures")]
    public sealed partial class Procedures : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "is_auto_executed", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAutoExecuted { get; set; }
        [Column(Name = "is_execution_replicated"), SqlType(SqlTypeType.Bit)]
        public bool? IsExecutionReplicated { get; set; }
        [Column(Name = "is_repl_serializable_only"), SqlType(SqlTypeType.Bit)]
        public bool? IsReplSerializableOnly { get; set; }
        [Column(Name = "skips_repl_constraints"), SqlType(SqlTypeType.Bit)]
        public bool? SkipsReplConstraints { get; set; }
        #endregion
    }
    [Table(Name = "sys.service_queues")]
    public sealed partial class ServiceQueues : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "activation_procedure"), SqlType(SqlTypeType.NVarChar, Length = 1552)]
        public string ActivationProcedure { get; set; }
        [Column(Name = "execute_as_principal_id"), SqlType(SqlTypeType.Int)]
        public int? ExecuteAsPrincipalId { get; set; }
        [Column(Name = "is_activation_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsActivationEnabled { get; set; }
        [Column(Name = "is_enqueue_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsEnqueueEnabled { get; set; }
        [Column(Name = "is_receive_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsReceiveEnabled { get; set; }
        [Column(Name = "is_retention_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRetentionEnabled { get; set; }
        [Column(Name = "max_readers"), SqlType(SqlTypeType.SmallInt)]
        public short? MaxReaders { get; set; }
        #endregion
    }
    [Table(Name = "sys.synonyms")]
    public sealed partial class Synonyms : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "base_object_name"), SqlType(SqlTypeType.NVarChar, Length = 2070)]
        public string BaseObjectName { get; set; }
        #endregion
    }
    [Table(Name = "sys.system_objects")]
    public sealed partial class SystemObjects : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.system_views")]
    public sealed partial class SystemViews : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "has_opaque_metadata", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool HasOpaqueMetadata { get; set; }
        [Column(Name = "has_replication_filter", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool HasReplicationFilter { get; set; }
        [Column(Name = "has_unchecked_assembly_data", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool HasUncheckedAssemblyData { get; set; }
        [Column(Name = "is_date_correlation_view", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDateCorrelationView { get; set; }
        [Column(Name = "is_replicated", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsReplicated { get; set; }
        [Column(Name = "with_check_option", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool WithCheckOption { get; set; }
        #endregion
    }
    [Table(Name = "sys.tables")]
    public sealed partial class Tables : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "filestream_data_space_id"), SqlType(SqlTypeType.Int)]
        public int? FilestreamDataSpaceId { get; set; }
        [Column(Name = "has_replication_filter"), SqlType(SqlTypeType.Bit)]
        public bool? HasReplicationFilter { get; set; }
        [Column(Name = "has_unchecked_assembly_data", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool HasUncheckedAssemblyData { get; set; }
        [Column(Name = "is_merge_published"), SqlType(SqlTypeType.Bit)]
        public bool? IsMergePublished { get; set; }
        [Column(Name = "is_replicated"), SqlType(SqlTypeType.Bit)]
        public bool? IsReplicated { get; set; }
        [Column(Name = "is_sync_tran_subscribed"), SqlType(SqlTypeType.Bit)]
        public bool? IsSyncTranSubscribed { get; set; }
        [Column(Name = "large_value_types_out_of_row"), SqlType(SqlTypeType.Bit)]
        public bool? LargeValueTypesOutOfRow { get; set; }
        [Column(Name = "lob_data_space_id"), SqlType(SqlTypeType.Int)]
        public int? LobDataSpaceId { get; set; }
        [Column(Name = "lock_on_bulk_load", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool LockOnBulkLoad { get; set; }
        [Column(Name = "max_column_id_used", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MaxColumnIdUsed { get; set; }
        [Column(Name = "text_in_row_limit"), SqlType(SqlTypeType.Int)]
        public int? TextInRowLimit { get; set; }
        [Column(Name = "uses_ansi_nulls"), SqlType(SqlTypeType.Bit)]
        public bool? UsesAnsiNulls { get; set; }
        #endregion
    }
    [Table(Name = "sys.views")]
    public sealed partial class Views : ObjectsBase {

        #region Public Members
        [Column(Name = "object_id", IsPrimaryKey = true, CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ObjectId { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime CreateDate { get; set; }
        [Column(Name = "is_ms_shipped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsMsShipped { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsPublished { get; set; }
        [Column(Name = "is_schema_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public sealed override bool? IsSchemaPublished { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public sealed override DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public sealed override string Name { get; set; }
        [Column(Name = "parent_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int ParentObjectId { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public sealed override int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public sealed override int SchemaId { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public sealed override string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public sealed override string TypeDesc { get; set; }
        [Column(Name = "has_opaque_metadata", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool HasOpaqueMetadata { get; set; }
        [Column(Name = "has_replication_filter"), SqlType(SqlTypeType.Bit)]
        public bool? HasReplicationFilter { get; set; }
        [Column(Name = "has_unchecked_assembly_data", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool HasUncheckedAssemblyData { get; set; }
        [Column(Name = "is_date_correlation_view", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDateCorrelationView { get; set; }
        [Column(Name = "is_replicated"), SqlType(SqlTypeType.Bit)]
        public bool? IsReplicated { get; set; }
        [Column(Name = "with_check_option", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool WithCheckOption { get; set; }
        #endregion
    }
    #endregion
    #endregion

    #region CatalogViews
    #region ClrAssembly
    [Table(Name = "sys.assemblies")]
    public sealed partial class Assemblies {

        #region Public Members
        [Column(Name = "assembly_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int AssemblyId { get; set; }
        [Column(Name = "clr_name"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string ClrName { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "is_visible", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsVisible { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "permission_set"), SqlType(SqlTypeType.TinyInt)]
        public byte? PermissionSet { get; set; }
        [Column(Name = "permission_set_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string PermissionSetDesc { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        #endregion
    }
    [Table(Name = "sys.assembly_files")]
    public sealed partial class AssemblyFiles {

        #region Public Members
        [Column(Name = "assembly_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int AssemblyId { get; set; }
        [Column(Name = "content"), SqlType(SqlTypeType.VarBinary, Length = -1)]
        public Binary Content { get; set; }
        [Column(Name = "file_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FileId { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Name { get; set; }
        #endregion
    }
    [Table(Name = "sys.assembly_references")]
    public sealed partial class AssemblyReferences {

        #region Public Members
        [Column(Name = "assembly_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int AssemblyId { get; set; }
        [Column(Name = "referenced_assembly_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ReferencedAssemblyId { get; set; }
        #endregion
    }
    #endregion

    #region ScalarTypes
    [Table(Name = "sys.assembly_types")]
    public sealed partial class AssemblyTypes {

        #region Public Members
        [Column(Name = "assembly_class"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string AssemblyClass { get; set; }
        [Column(Name = "assembly_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int AssemblyId { get; set; }
        [Column(Name = "assembly_qualified_name"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string AssemblyQualifiedName { get; set; }
        [Column(Name = "collation_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string CollationName { get; set; }
        [Column(Name = "default_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DefaultObjectId { get; set; }
        [Column(Name = "is_assembly_type", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAssemblyType { get; set; }
        [Column(Name = "is_binary_ordered"), SqlType(SqlTypeType.Bit)]
        public bool? IsBinaryOrdered { get; set; }
        [Column(Name = "is_fixed_length"), SqlType(SqlTypeType.Bit)]
        public bool? IsFixedLength { get; set; }
        [Column(Name = "is_nullable"), SqlType(SqlTypeType.Bit)]
        public bool? IsNullable { get; set; }
        [Column(Name = "is_user_defined", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsUserDefined { get; set; }
        [Column(Name = "max_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxLength { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Precision { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "prog_id"), SqlType(SqlTypeType.NVarChar, Length = 80)]
        public string ProgId { get; set; }
        [Column(Name = "rule_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RuleObjectId { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SchemaId { get; set; }
        [Column(Name = "system_type_id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SystemTypeId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        #endregion
    }
    [Table(Name = "sys.column_type_usages")]
    public sealed partial class ColumnTypeUsages {

        #region Public Members
        [Column(Name = "column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnId { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        #endregion
    }
    [Table(Name = "sys.parameter_type_usages")]
    public sealed partial class ParameterTypeUsages {

        #region Public Members
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "parameter_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParameterId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        #endregion
    }
    [Table(Name = "sys.type_assembly_usages")]
    public sealed partial class TypeAssemblyUsages {

        #region Public Members
        [Column(Name = "assembly_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int AssemblyId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        #endregion
    }
    [Table(Name = "sys.types")]
    public sealed partial class Types {

        #region Public Members
        [Column(Name = "collation_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string CollationName { get; set; }
        [Column(Name = "default_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DefaultObjectId { get; set; }
        [Column(Name = "is_assembly_type", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAssemblyType { get; set; }
        [Column(Name = "is_nullable"), SqlType(SqlTypeType.Bit)]
        public bool? IsNullable { get; set; }
        [Column(Name = "is_user_defined", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsUserDefined { get; set; }
        [Column(Name = "max_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxLength { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Precision { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "rule_object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RuleObjectId { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SchemaId { get; set; }
        [Column(Name = "system_type_id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SystemTypeId { get; set; }
        [Column(Name = "user_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserTypeId { get; set; }
        #endregion
    }
    #endregion

    #region Security
    [Table(Name = "sys.asymmetric_keys")]
    public sealed partial class AsymmetricKeys {

        #region Public Members
        [Column(Name = "algorithm", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Algorithm { get; set; }
        [Column(Name = "algorithm_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string AlgorithmDesc { get; set; }
        [Column(Name = "asymmetric_key_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int AsymmetricKeyId { get; set; }
        [Column(Name = "attested_by"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string AttestedBy { get; set; }
        [Column(Name = "key_length", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int KeyLength { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "public_key", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = -1)]
        public Binary PublicKey { get; set; }
        [Column(Name = "pvt_key_encryption_type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string PvtKeyEncryptionType { get; set; }
        [Column(Name = "pvt_key_encryption_type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string PvtKeyEncryptionTypeDesc { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "string_sid"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string StringSid { get; set; }
        [Column(Name = "thumbprint", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 32)]
        public Binary Thumbprint { get; set; }
        #endregion
    }
    [Table(Name = "sys.certificates")]
    public sealed partial class Certificates {

        #region Public Members
        [Column(Name = "attested_by"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string AttestedBy { get; set; }
        [Column(Name = "cert_serial_number"), SqlType(SqlTypeType.NVarChar, Length = 128)]
        public string CertSerialNumber { get; set; }
        [Column(Name = "certificate_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CertificateId { get; set; }
        [Column(Name = "expiry_date"), SqlType(SqlTypeType.DateTime)]
        public DateTime? ExpiryDate { get; set; }
        [Column(Name = "is_active_for_begin_dialog"), SqlType(SqlTypeType.Bit)]
        public bool? IsActiveForBeginDialog { get; set; }
        [Column(Name = "issuer_name"), SqlType(SqlTypeType.NVarChar, Length = 884)]
        public string IssuerName { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "pvt_key_encryption_type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string PvtKeyEncryptionType { get; set; }
        [Column(Name = "pvt_key_encryption_type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string PvtKeyEncryptionTypeDesc { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "start_date"), SqlType(SqlTypeType.DateTime)]
        public DateTime? StartDate { get; set; }
        [Column(Name = "string_sid"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string StringSid { get; set; }
        [Column(Name = "subject"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Subject { get; set; }
        [Column(Name = "thumbprint", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 32)]
        public Binary Thumbprint { get; set; }
        #endregion
    }
    [Table(Name = "sys.credentials")]
    public sealed partial class Credentials {

        #region Public Members
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "credential_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CredentialId { get; set; }
        [Column(Name = "credential_identity"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string CredentialIdentity { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        #endregion
    }
    [Table(Name = "sys.crypt_properties")]
    public sealed partial class CryptProperties {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "class_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ClassDesc { get; set; }
        [Column(Name = "crypt_property", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = -1)]
        public Binary CryptProperty { get; set; }
        [Column(Name = "crypt_type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 4)]
        public string CryptType { get; set; }
        [Column(Name = "crypt_type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string CryptTypeDesc { get; set; }
        [Column(Name = "major_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MajorId { get; set; }
        [Column(Name = "thumbprint", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 32)]
        public Binary Thumbprint { get; set; }
        #endregion
    }
    [Table(Name = "sys.database_permissions")]
    public sealed partial class DatabasePermissions {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "class_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ClassDesc { get; set; }
        [Column(Name = "grantee_principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int GranteePrincipalId { get; set; }
        [Column(Name = "grantor_principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int GrantorPrincipalId { get; set; }
        [Column(Name = "major_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MajorId { get; set; }
        [Column(Name = "minor_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MinorId { get; set; }
        [Column(Name = "permission_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string PermissionName { get; set; }
        [Column(Name = "state", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 4)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.database_principals")]
    public sealed partial class DatabasePrincipals {

        #region Public Members
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "default_schema_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string DefaultSchemaName { get; set; }
        [Column(Name = "is_fixed_role", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFixedRole { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "owning_principal_id"), SqlType(SqlTypeType.Int)]
        public int? OwningPrincipalId { get; set; }
        [Column(Name = "principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PrincipalId { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.database_role_members")]
    public sealed partial class DatabaseRoleMembers {

        #region Public Members
        [Column(Name = "member_principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MemberPrincipalId { get; set; }
        [Column(Name = "role_principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RolePrincipalId { get; set; }
        #endregion
    }
    [Table(Name = "sys.key_encryptions")]
    public sealed partial class KeyEncryptions {

        #region Public Members
        [Column(Name = "crypt_property"), SqlType(SqlTypeType.VarBinary, Length = -1)]
        public Binary CryptProperty { get; set; }
        [Column(Name = "crypt_type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 4)]
        public string CryptType { get; set; }
        [Column(Name = "crypt_type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string CryptTypeDesc { get; set; }
        [Column(Name = "key_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int KeyId { get; set; }
        [Column(Name = "thumbprint"), SqlType(SqlTypeType.VarBinary, Length = 32)]
        public Binary Thumbprint { get; set; }
        #endregion
    }
    [Table(Name = "sys.master_key_passwords")]
    public sealed partial class MasterKeyPasswords {

        #region Public Members
        [Column(Name = "credential_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CredentialId { get; set; }
        [Column(Name = "family_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? FamilyGuid { get; set; }
        #endregion
    }
    [Table(Name = "sys.openkeys")]
    public sealed partial class OpenKeys {

        #region Public Members
        [Column(Name = "database_id"), SqlType(SqlTypeType.Int)]
        public int? DatabaseId { get; set; }
        [Column(Name = "database_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string DatabaseName { get; set; }
        [Column(Name = "key_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? KeyGuid { get; set; }
        [Column(Name = "key_id"), SqlType(SqlTypeType.Int)]
        public int? KeyId { get; set; }
        [Column(Name = "key_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string KeyName { get; set; }
        [Column(Name = "opened_date"), SqlType(SqlTypeType.DateTime)]
        public DateTime? OpenedDate { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.SmallInt)]
        public short? Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.securable_classes")]
    public sealed partial class SecurableClasses {

        #region Public Members
        [Column(Name = "class"), SqlType(SqlTypeType.Int)]
        public int? Class { get; set; }
        [Column(Name = "class_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ClassDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.server_permissions")]
    public sealed partial class ServerPermissions {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "class_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ClassDesc { get; set; }
        [Column(Name = "grantee_principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int GranteePrincipalId { get; set; }
        [Column(Name = "grantor_principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int GrantorPrincipalId { get; set; }
        [Column(Name = "major_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MajorId { get; set; }
        [Column(Name = "minor_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MinorId { get; set; }
        [Column(Name = "permission_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string PermissionName { get; set; }
        [Column(Name = "state", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 4)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.server_principals")]
    public sealed partial class ServerPrincipals {

        #region Public Members
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "credential_id"), SqlType(SqlTypeType.Int)]
        public int? CredentialId { get; set; }
        [Column(Name = "default_database_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string DefaultDatabaseName { get; set; }
        [Column(Name = "default_language_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string DefaultLanguageName { get; set; }
        [Column(Name = "is_disabled"), SqlType(SqlTypeType.Bit)]
        public bool? IsDisabled { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PrincipalId { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.server_role_members")]
    public sealed partial class ServerRoleMembers {

        #region Public Members
        [Column(Name = "member_principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MemberPrincipalId { get; set; }
        [Column(Name = "role_principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RolePrincipalId { get; set; }
        #endregion
    }
    [Table(Name = "sys.sql_logins")]
    public sealed partial class SqlLogins {

        #region Public Members
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "credential_id"), SqlType(SqlTypeType.Int)]
        public int? CredentialId { get; set; }
        [Column(Name = "default_database_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string DefaultDatabaseName { get; set; }
        [Column(Name = "default_language_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string DefaultLanguageName { get; set; }
        [Column(Name = "is_disabled"), SqlType(SqlTypeType.Bit)]
        public bool? IsDisabled { get; set; }
        [Column(Name = "is_expiration_checked"), SqlType(SqlTypeType.Bit)]
        public bool? IsExpirationChecked { get; set; }
        [Column(Name = "is_policy_checked"), SqlType(SqlTypeType.Bit)]
        public bool? IsPolicyChecked { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "password_hash"), SqlType(SqlTypeType.VarBinary, Length = 256)]
        public Binary PasswordHash { get; set; }
        [Column(Name = "principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PrincipalId { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.symmetric_keys")]
    public sealed partial class SymmetricKeys {

        #region Public Members
        [Column(Name = "algorithm_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string AlgorithmDesc { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "key_algorithm", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string KeyAlgorithm { get; set; }
        [Column(Name = "key_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? KeyGuid { get; set; }
        [Column(Name = "key_length", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int KeyLength { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "symmetric_key_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SymmetricKeyId { get; set; }
        #endregion
    }
    [Table(Name = "sys.system_components_surface_area_configuration")]
    public sealed partial class SystemComponentsSurfaceAreaConfiguration {

        #region Public Members
        [Column(Name = "component_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string ComponentName { get; set; }
        [Column(Name = "database_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string DatabaseName { get; set; }
        [Column(Name = "object_name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string ObjectName { get; set; }
        [Column(Name = "schema_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string SchemaName { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.TinyInt)]
        public byte? State { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    #endregion

    #region DatabasesAndCatalog
    [Table(Name = "sys.backup_devices")]
    public sealed partial class BackupDevices {

        #region Public Members
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "physical_name"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string PhysicalName { get; set; }
        [Column(Name = "type"), SqlType(SqlTypeType.TinyInt)]
        public byte? Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.database_files")]
    public sealed partial class DatabaseFiles {

        #region Public Members
        [Column(Name = "backup_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? BackupLsn { get; set; }
        [Column(Name = "create_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? CreateLsn { get; set; }
        [Column(Name = "data_space_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DataSpaceId { get; set; }
        [Column(Name = "differential_base_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? DifferentialBaseGuid { get; set; }
        [Column(Name = "differential_base_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? DifferentialBaseLsn { get; set; }
        [Column(Name = "differential_base_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? DifferentialBaseTime { get; set; }
        [Column(Name = "drop_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? DropLsn { get; set; }
        [Column(Name = "file_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? FileGuid { get; set; }
        [Column(Name = "file_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FileId { get; set; }
        [Column(Name = "growth", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Growth { get; set; }
        [Column(Name = "is_media_read_only", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsMediaReadOnly { get; set; }
        [Column(Name = "is_name_reserved", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsNameReserved { get; set; }
        [Column(Name = "is_percent_growth", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsPercentGrowth { get; set; }
        [Column(Name = "is_read_only", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsReadOnly { get; set; }
        [Column(Name = "is_sparse", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSparse { get; set; }
        [Column(Name = "max_size", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MaxSize { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "physical_name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string PhysicalName { get; set; }
        [Column(Name = "read_only_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? ReadOnlyLsn { get; set; }
        [Column(Name = "read_write_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? ReadWriteLsn { get; set; }
        [Column(Name = "redo_start_fork_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? RedoStartForkGuid { get; set; }
        [Column(Name = "redo_start_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? RedoStartLsn { get; set; }
        [Column(Name = "redo_target_fork_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? RedoTargetForkGuid { get; set; }
        [Column(Name = "redo_target_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? RedoTargetLsn { get; set; }
        [Column(Name = "size", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Size { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.TinyInt)]
        public byte? State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.database_mirroring")]
    public sealed partial class DatabaseMirroring {

        #region Public Members
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseId { get; set; }
        [Column(Name = "mirroring_connection_timeout"), SqlType(SqlTypeType.Int)]
        public int? MirroringConnectionTimeout { get; set; }
        [Column(Name = "mirroring_failover_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? MirroringFailoverLsn { get; set; }
        [Column(Name = "mirroring_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? MirroringGuid { get; set; }
        [Column(Name = "mirroring_partner_instance"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string MirroringPartnerInstance { get; set; }
        [Column(Name = "mirroring_partner_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string MirroringPartnerName { get; set; }
        [Column(Name = "mirroring_redo_queue"), SqlType(SqlTypeType.Int)]
        public int? MirroringRedoQueue { get; set; }
        [Column(Name = "mirroring_redo_queue_type"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string MirroringRedoQueueType { get; set; }
        [Column(Name = "mirroring_role"), SqlType(SqlTypeType.TinyInt)]
        public byte? MirroringRole { get; set; }
        [Column(Name = "mirroring_role_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string MirroringRoleDesc { get; set; }
        [Column(Name = "mirroring_role_sequence"), SqlType(SqlTypeType.Int)]
        public int? MirroringRoleSequence { get; set; }
        [Column(Name = "mirroring_safety_level"), SqlType(SqlTypeType.TinyInt)]
        public byte? MirroringSafetyLevel { get; set; }
        [Column(Name = "mirroring_safety_level_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string MirroringSafetyLevelDesc { get; set; }
        [Column(Name = "mirroring_safety_sequence"), SqlType(SqlTypeType.Int)]
        public int? MirroringSafetySequence { get; set; }
        [Column(Name = "mirroring_state"), SqlType(SqlTypeType.TinyInt)]
        public byte? MirroringState { get; set; }
        [Column(Name = "mirroring_state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string MirroringStateDesc { get; set; }
        [Column(Name = "mirroring_witness_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string MirroringWitnessName { get; set; }
        [Column(Name = "mirroring_witness_state"), SqlType(SqlTypeType.TinyInt)]
        public byte? MirroringWitnessState { get; set; }
        [Column(Name = "mirroring_witness_state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string MirroringWitnessStateDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.database_recovery_status")]
    public sealed partial class DatabaseRecoveryStatus {

        #region Public Members
        [Column(Name = "database_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? DatabaseGuid { get; set; }
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseId { get; set; }
        [Column(Name = "family_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? FamilyGuid { get; set; }
        [Column(Name = "first_recovery_fork_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? FirstRecoveryForkGuid { get; set; }
        [Column(Name = "fork_point_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? ForkPointLsn { get; set; }
        [Column(Name = "last_log_backup_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? LastLogBackupLsn { get; set; }
        [Column(Name = "recovery_fork_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? RecoveryForkGuid { get; set; }
        #endregion
    }
    [Table(Name = "sys.databases")]
    public sealed partial class Databases {

        #region Public Members
        [Column(Name = "collation_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string CollationName { get; set; }
        [Column(Name = "compatibility_level"), SqlType(SqlTypeType.TinyInt)]
        public byte? CompatibilityLevel { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseId { get; set; }
        [Column(Name = "is_ansi_null_default_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsAnsiNullDefaultOn { get; set; }
        [Column(Name = "is_ansi_nulls_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsAnsiNullsOn { get; set; }
        [Column(Name = "is_ansi_padding_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsAnsiPaddingOn { get; set; }
        [Column(Name = "is_ansi_warnings_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsAnsiWarningsOn { get; set; }
        [Column(Name = "is_arithabort_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsArithabortOn { get; set; }
        [Column(Name = "is_auto_close_on", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAutoCloseOn { get; set; }
        [Column(Name = "is_auto_create_stats_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsAutoCreateStatsOn { get; set; }
        [Column(Name = "is_auto_shrink_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsAutoShrinkOn { get; set; }
        [Column(Name = "is_auto_update_stats_async_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsAutoUpdateStatsAsyncOn { get; set; }
        [Column(Name = "is_auto_update_stats_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsAutoUpdateStatsOn { get; set; }
        [Column(Name = "is_broker_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsBrokerEnabled { get; set; }
        [Column(Name = "is_cleanly_shutdown"), SqlType(SqlTypeType.Bit)]
        public bool? IsCleanlyShutdown { get; set; }
        [Column(Name = "is_concat_null_yields_null_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsConcatNullYieldsNullOn { get; set; }
        [Column(Name = "is_cursor_close_on_commit_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsCursorCloseOnCommitOn { get; set; }
        [Column(Name = "is_date_correlation_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsDateCorrelationOn { get; set; }
        [Column(Name = "is_db_chaining_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsDbChainingOn { get; set; }
        [Column(Name = "is_distributor", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDistributor { get; set; }
        [Column(Name = "is_fulltext_enabled"), SqlType(SqlTypeType.Bit)]
        public bool? IsFulltextEnabled { get; set; }
        [Column(Name = "is_in_standby"), SqlType(SqlTypeType.Bit)]
        public bool? IsInStandby { get; set; }
        [Column(Name = "is_local_cursor_default"), SqlType(SqlTypeType.Bit)]
        public bool? IsLocalCursorDefault { get; set; }
        [Column(Name = "is_master_key_encrypted_by_server", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsMasterKeyEncryptedByServer { get; set; }
        [Column(Name = "is_merge_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsMergePublished { get; set; }
        [Column(Name = "is_numeric_roundabort_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsNumericRoundabortOn { get; set; }
        [Column(Name = "is_parameterization_forced"), SqlType(SqlTypeType.Bit)]
        public bool? IsParameterizationForced { get; set; }
        [Column(Name = "is_published", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsPublished { get; set; }
        [Column(Name = "is_quoted_identifier_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsQuotedIdentifierOn { get; set; }
        [Column(Name = "is_read_committed_snapshot_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsReadCommittedSnapshotOn { get; set; }
        [Column(Name = "is_read_only"), SqlType(SqlTypeType.Bit)]
        public bool? IsReadOnly { get; set; }
        [Column(Name = "is_recursive_triggers_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsRecursiveTriggersOn { get; set; }
        [Column(Name = "is_subscribed", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSubscribed { get; set; }
        [Column(Name = "is_supplemental_logging_enabled"), SqlType(SqlTypeType.Bit)]
        public bool? IsSupplementalLoggingEnabled { get; set; }
        [Column(Name = "is_sync_with_backup", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSyncWithBackup { get; set; }
        [Column(Name = "is_trustworthy_on"), SqlType(SqlTypeType.Bit)]
        public bool? IsTrustworthyOn { get; set; }
        [Column(Name = "log_reuse_wait"), SqlType(SqlTypeType.TinyInt)]
        public byte? LogReuseWait { get; set; }
        [Column(Name = "log_reuse_wait_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string LogReuseWaitDesc { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "owner_sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary OwnerSid { get; set; }
        [Column(Name = "page_verify_option"), SqlType(SqlTypeType.TinyInt)]
        public byte? PageVerifyOption { get; set; }
        [Column(Name = "page_verify_option_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string PageVerifyOptionDesc { get; set; }
        [Column(Name = "recovery_model"), SqlType(SqlTypeType.TinyInt)]
        public byte? RecoveryModel { get; set; }
        [Column(Name = "recovery_model_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string RecoveryModelDesc { get; set; }
        [Column(Name = "service_broker_guid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid ServiceBrokerGuid { get; set; }
        [Column(Name = "snapshot_isolation_state"), SqlType(SqlTypeType.TinyInt)]
        public byte? SnapshotIsolationState { get; set; }
        [Column(Name = "snapshot_isolation_state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string SnapshotIsolationStateDesc { get; set; }
        [Column(Name = "source_database_id"), SqlType(SqlTypeType.Int)]
        public int? SourceDatabaseId { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.TinyInt)]
        public byte? State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "user_access"), SqlType(SqlTypeType.TinyInt)]
        public byte? UserAccess { get; set; }
        [Column(Name = "user_access_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string UserAccessDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.master_files")]
    public sealed partial class MasterFiles {

        #region Public Members
        [Column(Name = "backup_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? BackupLsn { get; set; }
        [Column(Name = "create_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? CreateLsn { get; set; }
        [Column(Name = "data_space_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DataSpaceId { get; set; }
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseId { get; set; }
        [Column(Name = "differential_base_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? DifferentialBaseGuid { get; set; }
        [Column(Name = "differential_base_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? DifferentialBaseLsn { get; set; }
        [Column(Name = "differential_base_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? DifferentialBaseTime { get; set; }
        [Column(Name = "drop_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? DropLsn { get; set; }
        [Column(Name = "file_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? FileGuid { get; set; }
        [Column(Name = "file_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FileId { get; set; }
        [Column(Name = "growth", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Growth { get; set; }
        [Column(Name = "is_media_read_only", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsMediaReadOnly { get; set; }
        [Column(Name = "is_name_reserved", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsNameReserved { get; set; }
        [Column(Name = "is_percent_growth", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsPercentGrowth { get; set; }
        [Column(Name = "is_read_only", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsReadOnly { get; set; }
        [Column(Name = "is_sparse", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSparse { get; set; }
        [Column(Name = "max_size", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MaxSize { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "physical_name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string PhysicalName { get; set; }
        [Column(Name = "read_only_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? ReadOnlyLsn { get; set; }
        [Column(Name = "read_write_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? ReadWriteLsn { get; set; }
        [Column(Name = "redo_start_fork_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? RedoStartForkGuid { get; set; }
        [Column(Name = "redo_start_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? RedoStartLsn { get; set; }
        [Column(Name = "redo_target_fork_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? RedoTargetForkGuid { get; set; }
        [Column(Name = "redo_target_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? RedoTargetLsn { get; set; }
        [Column(Name = "size", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Size { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.TinyInt)]
        public byte? State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    #endregion

    #region XmlSchemas
    [Table(Name = "sys.column_xml_schema_collection_usages")]
    public sealed partial class ColumnXmlSchemaCollectionUsages {

        #region Public Members
        [Column(Name = "column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnId { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.parameter_xml_schema_collection_usages")]
    public sealed partial class ParameterXmlSchemaCollectionUsages {

        #region Public Members
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "parameter_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParameterId { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.xml_indexes")]
    public sealed partial class XmlIndexes {

        #region Public Members
        [Column(Name = "allow_page_locks"), SqlType(SqlTypeType.Bit)]
        public bool? AllowPageLocks { get; set; }
        [Column(Name = "allow_row_locks"), SqlType(SqlTypeType.Bit)]
        public bool? AllowRowLocks { get; set; }
        [Column(Name = "data_space_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DataSpaceId { get; set; }
        [Column(Name = "fill_factor", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte FillFactor { get; set; }
        [Column(Name = "ignore_dup_key"), SqlType(SqlTypeType.Bit)]
        public bool? IgnoreDupKey { get; set; }
        [Column(Name = "index_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IndexId { get; set; }
        [Column(Name = "is_disabled"), SqlType(SqlTypeType.Bit)]
        public bool? IsDisabled { get; set; }
        [Column(Name = "is_hypothetical"), SqlType(SqlTypeType.Bit)]
        public bool? IsHypothetical { get; set; }
        [Column(Name = "is_padded"), SqlType(SqlTypeType.Bit)]
        public bool? IsPadded { get; set; }
        [Column(Name = "is_primary_key"), SqlType(SqlTypeType.Bit)]
        public bool? IsPrimaryKey { get; set; }
        [Column(Name = "is_unique"), SqlType(SqlTypeType.Bit)]
        public bool? IsUnique { get; set; }
        [Column(Name = "is_unique_constraint"), SqlType(SqlTypeType.Bit)]
        public bool? IsUniqueConstraint { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "secondary_type"), SqlType(SqlTypeType.Char, Length = 1)]
        public string SecondaryType { get; set; }
        [Column(Name = "secondary_type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string SecondaryTypeDesc { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        [Column(Name = "using_xml_index_id"), SqlType(SqlTypeType.Int)]
        public int? UsingXmlIndexId { get; set; }
        #endregion
    }
    [Table(Name = "sys.xml_schema_attributes")]
    public sealed partial class XmlSchemaAttributes {

        #region Public Members
        [Column(Name = "base_xml_component_id"), SqlType(SqlTypeType.Int)]
        public int? BaseXmlComponentId { get; set; }
        [Column(Name = "default_value"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string DefaultValue { get; set; }
        [Column(Name = "derivation", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Derivation { get; set; }
        [Column(Name = "derivation_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string DerivationDesc { get; set; }
        [Column(Name = "is_default_fixed", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDefaultFixed { get; set; }
        [Column(Name = "is_qualified", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsQualified { get; set; }
        [Column(Name = "kind", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Kind { get; set; }
        [Column(Name = "kind_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string KindDesc { get; set; }
        [Column(Name = "must_be_qualified", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool MustBeQualified { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Name { get; set; }
        [Column(Name = "scoping_xml_component_id"), SqlType(SqlTypeType.Int)]
        public int? ScopingXmlComponentId { get; set; }
        [Column(Name = "symbol_space", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string SymbolSpace { get; set; }
        [Column(Name = "symbol_space_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string SymbolSpaceDesc { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        [Column(Name = "xml_component_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlComponentId { get; set; }
        [Column(Name = "xml_namespace_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlNamespaceId { get; set; }
        #endregion
    }
    [Table(Name = "sys.xml_schema_collections")]
    public sealed partial class XmlSchemaCollections {

        #region Public Members
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SchemaId { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.xml_schema_component_placements")]
    public sealed partial class XmlSchemaComponentPlacements {

        #region Public Members
        [Column(Name = "default_value"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string DefaultValue { get; set; }
        [Column(Name = "is_default_fixed", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDefaultFixed { get; set; }
        [Column(Name = "max_occurences", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MaxOccurences { get; set; }
        [Column(Name = "min_occurences", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MinOccurences { get; set; }
        [Column(Name = "placed_xml_component_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PlacedXmlComponentId { get; set; }
        [Column(Name = "placement_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PlacementId { get; set; }
        [Column(Name = "xml_component_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlComponentId { get; set; }
        #endregion
    }
    [Table(Name = "sys.xml_schema_components")]
    public sealed partial class XmlSchemaComponents {

        #region Public Members
        [Column(Name = "base_xml_component_id"), SqlType(SqlTypeType.Int)]
        public int? BaseXmlComponentId { get; set; }
        [Column(Name = "derivation", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Derivation { get; set; }
        [Column(Name = "derivation_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string DerivationDesc { get; set; }
        [Column(Name = "is_qualified", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsQualified { get; set; }
        [Column(Name = "kind", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Kind { get; set; }
        [Column(Name = "kind_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string KindDesc { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Name { get; set; }
        [Column(Name = "scoping_xml_component_id"), SqlType(SqlTypeType.Int)]
        public int? ScopingXmlComponentId { get; set; }
        [Column(Name = "symbol_space", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string SymbolSpace { get; set; }
        [Column(Name = "symbol_space_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string SymbolSpaceDesc { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        [Column(Name = "xml_component_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlComponentId { get; set; }
        [Column(Name = "xml_namespace_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlNamespaceId { get; set; }
        #endregion
    }
    [Table(Name = "sys.xml_schema_elements")]
    public sealed partial class XmlSchemaElements {

        #region Public Members
        [Column(Name = "base_xml_component_id"), SqlType(SqlTypeType.Int)]
        public int? BaseXmlComponentId { get; set; }
        [Column(Name = "default_value"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string DefaultValue { get; set; }
        [Column(Name = "derivation", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Derivation { get; set; }
        [Column(Name = "derivation_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string DerivationDesc { get; set; }
        [Column(Name = "is_abstract", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAbstract { get; set; }
        [Column(Name = "is_default_fixed", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDefaultFixed { get; set; }
        [Column(Name = "is_extension_blocked", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsExtensionBlocked { get; set; }
        [Column(Name = "is_final_extension", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFinalExtension { get; set; }
        [Column(Name = "is_final_restriction", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFinalRestriction { get; set; }
        [Column(Name = "is_nillable", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsNillable { get; set; }
        [Column(Name = "is_qualified", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsQualified { get; set; }
        [Column(Name = "is_restriction_blocked", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRestrictionBlocked { get; set; }
        [Column(Name = "is_substitution_blocked", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSubstitutionBlocked { get; set; }
        [Column(Name = "kind", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Kind { get; set; }
        [Column(Name = "kind_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string KindDesc { get; set; }
        [Column(Name = "must_be_qualified", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool MustBeQualified { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Name { get; set; }
        [Column(Name = "scoping_xml_component_id"), SqlType(SqlTypeType.Int)]
        public int? ScopingXmlComponentId { get; set; }
        [Column(Name = "symbol_space", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string SymbolSpace { get; set; }
        [Column(Name = "symbol_space_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string SymbolSpaceDesc { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        [Column(Name = "xml_component_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlComponentId { get; set; }
        [Column(Name = "xml_namespace_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlNamespaceId { get; set; }
        #endregion
    }
    [Table(Name = "sys.xml_schema_facets")]
    public sealed partial class XmlSchemaFacets {

        #region Public Members
        [Column(Name = "facet_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FacetId { get; set; }
        [Column(Name = "is_fixed", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFixed { get; set; }
        [Column(Name = "kind", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Kind { get; set; }
        [Column(Name = "kind_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string KindDesc { get; set; }
        [Column(Name = "value"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Value { get; set; }
        [Column(Name = "xml_component_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlComponentId { get; set; }
        #endregion
    }
    [Table(Name = "sys.xml_schema_model_groups")]
    public sealed partial class XmlSchemaModelGroups {

        #region Public Members
        [Column(Name = "base_xml_component_id"), SqlType(SqlTypeType.Int)]
        public int? BaseXmlComponentId { get; set; }
        [Column(Name = "compositor", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Compositor { get; set; }
        [Column(Name = "compositor_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string CompositorDesc { get; set; }
        [Column(Name = "derivation", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Derivation { get; set; }
        [Column(Name = "derivation_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string DerivationDesc { get; set; }
        [Column(Name = "is_qualified", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsQualified { get; set; }
        [Column(Name = "kind", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Kind { get; set; }
        [Column(Name = "kind_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string KindDesc { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Name { get; set; }
        [Column(Name = "scoping_xml_component_id"), SqlType(SqlTypeType.Int)]
        public int? ScopingXmlComponentId { get; set; }
        [Column(Name = "symbol_space", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string SymbolSpace { get; set; }
        [Column(Name = "symbol_space_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string SymbolSpaceDesc { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        [Column(Name = "xml_component_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlComponentId { get; set; }
        [Column(Name = "xml_namespace_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlNamespaceId { get; set; }
        #endregion
    }
    [Table(Name = "sys.xml_schema_namespaces")]
    public sealed partial class XmlSchemaNamespaces {

        #region Public Members
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Name { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        [Column(Name = "xml_namespace_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlNamespaceId { get; set; }
        #endregion
    }
    [Table(Name = "sys.xml_schema_types")]
    public sealed partial class XmlSchemaTypes {

        #region Public Members
        [Column(Name = "allows_mixed_content", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool AllowsMixedContent { get; set; }
        [Column(Name = "base_xml_component_id"), SqlType(SqlTypeType.Int)]
        public int? BaseXmlComponentId { get; set; }
        [Column(Name = "derivation", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Derivation { get; set; }
        [Column(Name = "derivation_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string DerivationDesc { get; set; }
        [Column(Name = "is_abstract", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAbstract { get; set; }
        [Column(Name = "is_extension_blocked", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsExtensionBlocked { get; set; }
        [Column(Name = "is_final_extension", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFinalExtension { get; set; }
        [Column(Name = "is_final_list_member", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFinalListMember { get; set; }
        [Column(Name = "is_final_restriction", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFinalRestriction { get; set; }
        [Column(Name = "is_final_union_member", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFinalUnionMember { get; set; }
        [Column(Name = "is_qualified", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsQualified { get; set; }
        [Column(Name = "is_restriction_blocked", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRestrictionBlocked { get; set; }
        [Column(Name = "kind", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Kind { get; set; }
        [Column(Name = "kind_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string KindDesc { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Name { get; set; }
        [Column(Name = "scoping_xml_component_id"), SqlType(SqlTypeType.Int)]
        public int? ScopingXmlComponentId { get; set; }
        [Column(Name = "symbol_space", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string SymbolSpace { get; set; }
        [Column(Name = "symbol_space_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string SymbolSpaceDesc { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        [Column(Name = "xml_component_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlComponentId { get; set; }
        [Column(Name = "xml_namespace_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlNamespaceId { get; set; }
        #endregion
    }
    [Table(Name = "sys.xml_schema_wildcard_namespaces")]
    public sealed partial class XmlSchemaWildcardNamespaces {

        #region Public Members
        [Column(Name = "namespace", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Namespace { get; set; }
        [Column(Name = "xml_component_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlComponentId { get; set; }
        #endregion
    }
    [Table(Name = "sys.xml_schema_wildcards")]
    public sealed partial class XmlSchemaWildCards {

        #region Public Members
        [Column(Name = "base_xml_component_id"), SqlType(SqlTypeType.Int)]
        public int? BaseXmlComponentId { get; set; }
        [Column(Name = "derivation", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Derivation { get; set; }
        [Column(Name = "derivation_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string DerivationDesc { get; set; }
        [Column(Name = "disallow_namespaces", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool DisallowNamespaces { get; set; }
        [Column(Name = "is_qualified", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsQualified { get; set; }
        [Column(Name = "kind", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Kind { get; set; }
        [Column(Name = "kind_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string KindDesc { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Name { get; set; }
        [Column(Name = "process_content", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string ProcessContent { get; set; }
        [Column(Name = "process_content_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ProcessContentDesc { get; set; }
        [Column(Name = "scoping_xml_component_id"), SqlType(SqlTypeType.Int)]
        public int? ScopingXmlComponentId { get; set; }
        [Column(Name = "symbol_space", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string SymbolSpace { get; set; }
        [Column(Name = "symbol_space_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string SymbolSpaceDesc { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        [Column(Name = "xml_component_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlComponentId { get; set; }
        [Column(Name = "xml_namespace_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlNamespaceId { get; set; }
        #endregion
    }
    #endregion

    #region ServerWideConfiguration
    [Table(Name = "sys.configurations")]
    public sealed partial class Configurations {

        #region Public Members
        [Column(Name = "configuration_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ConfigurationId { get; set; }
        [Column(Name = "description", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 510)]
        public string Description { get; set; }
        [Column(Name = "is_advanced", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAdvanced { get; set; }
        [Column(Name = "is_dynamic", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDynamic { get; set; }
        [Column(Name = "maximum"), SqlType(SqlTypeType.SqlVariant)]
        public object Maximum { get; set; }
        [Column(Name = "minimum"), SqlType(SqlTypeType.SqlVariant)]
        public object Minimum { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 70)]
        public string Name { get; set; }
        [Column(Name = "value"), SqlType(SqlTypeType.SqlVariant)]
        public object Value { get; set; }
        [Column(Name = "value_in_use"), SqlType(SqlTypeType.SqlVariant)]
        public object ValueInUse { get; set; }
        #endregion
    }
    [Table(Name = "sys.trace_categories")]
    public sealed partial class TraceCategories {

        #region Public Members
        [Column(Name = "category_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short CategoryId { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.trace_columns")]
    public sealed partial class TraceColumns {

        #region Public Members
        [Column(Name = "is_filterable", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFilterable { get; set; }
        [Column(Name = "is_repeatable", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRepeatable { get; set; }
        [Column(Name = "is_repeated_base", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRepeatedBase { get; set; }
        [Column(Name = "max_size"), SqlType(SqlTypeType.Int)]
        public int? MaxSize { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "trace_column_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short TraceColumnId { get; set; }
        [Column(Name = "type_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string TypeName { get; set; }
        #endregion
    }
    [Table(Name = "sys.trace_event_bindings")]
    public sealed partial class TraceEventBindings {

        #region Public Members
        [Column(Name = "trace_column_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short TraceColumnId { get; set; }
        [Column(Name = "trace_event_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short TraceEventId { get; set; }
        #endregion
    }
    [Table(Name = "sys.trace_events")]
    public sealed partial class TraceEvents {

        #region Public Members
        [Column(Name = "category_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short CategoryId { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "trace_event_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short TraceEventId { get; set; }
        #endregion
    }
    [Table(Name = "sys.trace_subclass_values")]
    public sealed partial class TraceSubClassValues {

        #region Public Members
        [Column(Name = "subclass_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string SubclassName { get; set; }
        [Column(Name = "subclass_value"), SqlType(SqlTypeType.SmallInt)]
        public short? SubclassValue { get; set; }
        [Column(Name = "trace_column_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short TraceColumnId { get; set; }
        [Column(Name = "trace_event_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short TraceEventId { get; set; }
        #endregion
    }
    [Table(Name = "sys.traces")]
    public sealed partial class Traces {

        #region Public Members
        [Column(Name = "buffer_count"), SqlType(SqlTypeType.Int)]
        public int? BufferCount { get; set; }
        [Column(Name = "buffer_size"), SqlType(SqlTypeType.Int)]
        public int? BufferSize { get; set; }
        [Column(Name = "dropped_event_count"), SqlType(SqlTypeType.Int)]
        public int? DroppedEventCount { get; set; }
        [Column(Name = "event_count"), SqlType(SqlTypeType.BigInt)]
        public long? EventCount { get; set; }
        [Column(Name = "file_position"), SqlType(SqlTypeType.BigInt)]
        public long? FilePosition { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "is_default"), SqlType(SqlTypeType.Bit)]
        public bool? IsDefault { get; set; }
        [Column(Name = "is_rollover"), SqlType(SqlTypeType.Bit)]
        public bool? IsRollover { get; set; }
        [Column(Name = "is_rowset"), SqlType(SqlTypeType.Bit)]
        public bool? IsRowset { get; set; }
        [Column(Name = "is_shutdown"), SqlType(SqlTypeType.Bit)]
        public bool? IsShutdown { get; set; }
        [Column(Name = "last_event_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastEventTime { get; set; }
        [Column(Name = "max_files"), SqlType(SqlTypeType.Int)]
        public int? MaxFiles { get; set; }
        [Column(Name = "max_size"), SqlType(SqlTypeType.BigInt)]
        public long? MaxSize { get; set; }
        [Column(Name = "path"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Path { get; set; }
        [Column(Name = "reader_spid"), SqlType(SqlTypeType.Int)]
        public int? ReaderSpid { get; set; }
        [Column(Name = "start_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? StartTime { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "stop_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? StopTime { get; set; }
        #endregion
    }
    #endregion

    #region ServiceBroker
    [Table(Name = "sys.conversation_endpoints")]
    public sealed partial class ConversationEndPoints {

        #region Public Members
        [Column(Name = "conversation_group_id", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid ConversationGroupId { get; set; }
        [Column(Name = "conversation_handle", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid ConversationHandle { get; set; }
        [Column(Name = "conversation_id", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid ConversationId { get; set; }
        [Column(Name = "dialog_timer", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime DialogTimer { get; set; }
        [Column(Name = "end_dialog_sequence", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long EndDialogSequence { get; set; }
        [Column(Name = "far_broker_instance"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string FarBrokerInstance { get; set; }
        [Column(Name = "far_principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FarPrincipalId { get; set; }
        [Column(Name = "far_service", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string FarService { get; set; }
        [Column(Name = "first_out_of_order_sequence", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long FirstOutOfOrderSequence { get; set; }
        [Column(Name = "inbound_session_key_identifier", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid InboundSessionKeyIdentifier { get; set; }
        [Column(Name = "is_initiator", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsInitiator { get; set; }
        [Column(Name = "is_system", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSystem { get; set; }
        [Column(Name = "last_out_of_order_frag", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int LastOutOfOrderFrag { get; set; }
        [Column(Name = "last_out_of_order_sequence", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LastOutOfOrderSequence { get; set; }
        [Column(Name = "last_send_tran_id", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary LastSendTranId { get; set; }
        [Column(Name = "lifetime", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Lifetime { get; set; }
        [Column(Name = "outbound_session_key_identifier", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid OutboundSessionKeyIdentifier { get; set; }
        [Column(Name = "principal_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PrincipalId { get; set; }
        [Column(Name = "receive_sequence", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long ReceiveSequence { get; set; }
        [Column(Name = "receive_sequence_frag", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ReceiveSequenceFrag { get; set; }
        [Column(Name = "security_timestamp", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime SecurityTimestamp { get; set; }
        [Column(Name = "send_sequence", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SendSequence { get; set; }
        [Column(Name = "service_contract_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceContractId { get; set; }
        [Column(Name = "service_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceId { get; set; }
        [Column(Name = "state", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "system_sequence", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SystemSequence { get; set; }
        #endregion
    }
    [Table(Name = "sys.conversation_groups")]
    public sealed partial class ConversationGroups {

        #region Public Members
        [Column(Name = "conversation_group_id", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid ConversationGroupId { get; set; }
        [Column(Name = "is_system"), SqlType(SqlTypeType.Bit)]
        public bool? IsSystem { get; set; }
        [Column(Name = "service_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceId { get; set; }
        #endregion
    }
    [Table(Name = "sys.message_type_xml_schema_collection_usages")]
    public sealed partial class MessageTypeXmlSchemaCollectionUsages {

        #region Public Members
        [Column(Name = "message_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MessageTypeId { get; set; }
        [Column(Name = "xml_collection_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.remote_service_bindings")]
    public sealed partial class RemoteServiceBindings {

        #region Public Members
        [Column(Name = "is_anonymous_on", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAnonymousOn { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "remote_principal_id"), SqlType(SqlTypeType.Int)]
        public int? RemotePrincipalId { get; set; }
        [Column(Name = "remote_service_binding_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RemoteServiceBindingId { get; set; }
        [Column(Name = "remote_service_name"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string RemoteServiceName { get; set; }
        [Column(Name = "service_contract_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceContractId { get; set; }
        #endregion
    }
    [Table(Name = "sys.routes")]
    public sealed partial class Routes {

        #region Public Members
        [Column(Name = "address"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Address { get; set; }
        [Column(Name = "broker_instance"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string BrokerInstance { get; set; }
        [Column(Name = "lifetime"), SqlType(SqlTypeType.DateTime)]
        public DateTime? Lifetime { get; set; }
        [Column(Name = "mirror_address"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string MirrorAddress { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "remote_service_name"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string RemoteServiceName { get; set; }
        [Column(Name = "route_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RouteId { get; set; }
        #endregion
    }
    [Table(Name = "sys.service_contract_message_usages")]
    public sealed partial class ServiceContractMessageUsages {

        #region Public Members
        [Column(Name = "is_sent_by_initiator", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSentByInitiator { get; set; }
        [Column(Name = "is_sent_by_target", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSentByTarget { get; set; }
        [Column(Name = "message_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MessageTypeId { get; set; }
        [Column(Name = "service_contract_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceContractId { get; set; }
        #endregion
    }
    [Table(Name = "sys.service_contract_usages")]
    public sealed partial class ServiceContractUsages {

        #region Public Members
        [Column(Name = "service_contract_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceContractId { get; set; }
        [Column(Name = "service_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceId { get; set; }
        #endregion
    }
    [Table(Name = "sys.service_contracts")]
    public sealed partial class ServiceContracts {

        #region Public Members
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "service_contract_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceContractId { get; set; }
        #endregion
    }
    [Table(Name = "sys.service_message_types")]
    public sealed partial class ServiceMessageTypes {

        #region Public Members
        [Column(Name = "message_type_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MessageTypeId { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "validation", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Validation { get; set; }
        [Column(Name = "validation_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ValidationDesc { get; set; }
        [Column(Name = "xml_collection_id"), SqlType(SqlTypeType.Int)]
        public int? XmlCollectionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.service_queue_usages")]
    public sealed partial class ServiceQueueUsages {

        #region Public Members
        [Column(Name = "service_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceId { get; set; }
        [Column(Name = "service_queue_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceQueueId { get; set; }
        #endregion
    }
    [Table(Name = "sys.services")]
    public sealed partial class Services {

        #region Public Members
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "service_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceId { get; set; }
        [Column(Name = "service_queue_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceQueueId { get; set; }
        #endregion
    }
    [Table(Name = "sys.transmission_queue")]
    public sealed partial class TransmissionQueue {

        #region Public Members
        [Column(Name = "conversation_handle", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid ConversationHandle { get; set; }
        [Column(Name = "enqueue_time", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime EnqueueTime { get; set; }
        [Column(Name = "from_service_name"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string FromServiceName { get; set; }
        [Column(Name = "is_conversation_error", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsConversationError { get; set; }
        [Column(Name = "is_end_of_dialog", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsEndOfDialog { get; set; }
        [Column(Name = "message_body"), SqlType(SqlTypeType.VarBinary, Length = -1)]
        public Binary MessageBody { get; set; }
        [Column(Name = "message_sequence_number", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MessageSequenceNumber { get; set; }
        [Column(Name = "message_type_name"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string MessageTypeName { get; set; }
        [Column(Name = "service_contract_name"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string ServiceContractName { get; set; }
        [Column(Name = "to_broker_instance"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string ToBrokerInstance { get; set; }
        [Column(Name = "to_service_name"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string ToServiceName { get; set; }
        [Column(Name = "transmission_status"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string TransmissionStatus { get; set; }
        #endregion
    }
    #endregion

    #region DataSpaces
    [Table(Name = "sys.data_spaces")]
    public sealed partial class DataSpaces {

        #region Public Members
        [Column(Name = "data_space_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DataSpaceId { get; set; }
        [Column(Name = "is_default", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDefault { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.destination_data_spaces")]
    public sealed partial class DestinationDataSpaces {

        #region Public Members
        [Column(Name = "data_space_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DataSpaceId { get; set; }
        [Column(Name = "destination_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DestinationId { get; set; }
        [Column(Name = "partition_scheme_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PartitionSchemeId { get; set; }
        #endregion
    }
    [Table(Name = "sys.filegroups")]
    public sealed partial class FileGroups {

        #region Public Members
        [Column(Name = "data_space_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DataSpaceId { get; set; }
        [Column(Name = "filegroup_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? FilegroupGuid { get; set; }
        [Column(Name = "is_default"), SqlType(SqlTypeType.Bit)]
        public bool? IsDefault { get; set; }
        [Column(Name = "is_read_only"), SqlType(SqlTypeType.Bit)]
        public bool? IsReadOnly { get; set; }
        [Column(Name = "log_filegroup_id"), SqlType(SqlTypeType.Int)]
        public int? LogFilegroupId { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.partition_schemes")]
    public sealed partial class PartitionSchemes {

        #region Public Members
        [Column(Name = "data_space_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DataSpaceId { get; set; }
        [Column(Name = "function_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FunctionId { get; set; }
        [Column(Name = "is_default"), SqlType(SqlTypeType.Bit)]
        public bool? IsDefault { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    #endregion

    #region Endpoints
    [Table(Name = "sys.database_mirroring_endpoints")]
    public sealed partial class DatabaseMirroringEndpoints {

        #region Public Members
        [Column(Name = "certificate_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CertificateId { get; set; }
        [Column(Name = "connection_auth", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte ConnectionAuth { get; set; }
        [Column(Name = "connection_auth_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ConnectionAuthDesc { get; set; }
        [Column(Name = "encryption_algorithm", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte EncryptionAlgorithm { get; set; }
        [Column(Name = "encryption_algorithm_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string EncryptionAlgorithmDesc { get; set; }
        [Column(Name = "endpoint_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EndpointId { get; set; }
        [Column(Name = "is_admin_endpoint", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAdminEndpoint { get; set; }
        [Column(Name = "is_encryption_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsEncryptionEnabled { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "protocol", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Protocol { get; set; }
        [Column(Name = "protocol_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ProtocolDesc { get; set; }
        [Column(Name = "role"), SqlType(SqlTypeType.TinyInt)]
        public byte? Role { get; set; }
        [Column(Name = "role_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string RoleDesc { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.TinyInt)]
        public byte? State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.endpoint_webmethods")]
    public sealed partial class EndPointWebMethods {

        #region Public Members
        [Column(Name = "endpoint_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EndpointId { get; set; }
        [Column(Name = "method_alias", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 128)]
        public string MethodAlias { get; set; }
        [Column(Name = "namespace"), SqlType(SqlTypeType.NVarChar, Length = 768)]
        public string Namespace { get; set; }
        [Column(Name = "object_name"), SqlType(SqlTypeType.NVarChar, Length = 1552)]
        public string ObjectName { get; set; }
        [Column(Name = "result_format"), SqlType(SqlTypeType.TinyInt)]
        public byte? ResultFormat { get; set; }
        [Column(Name = "result_format_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ResultFormatDesc { get; set; }
        [Column(Name = "result_schema"), SqlType(SqlTypeType.TinyInt)]
        public byte? ResultSchema { get; set; }
        [Column(Name = "result_schema_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ResultSchemaDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.endpoints")]
    public sealed partial class EndPoints {

        #region Public Members
        [Column(Name = "endpoint_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EndpointId { get; set; }
        [Column(Name = "is_admin_endpoint", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAdminEndpoint { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "protocol", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Protocol { get; set; }
        [Column(Name = "protocol_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ProtocolDesc { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.TinyInt)]
        public byte? State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.http_endpoints")]
    public sealed partial class HttpEndPoints {

        #region Public Members
        [Column(Name = "authorization_realm"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string AuthorizationRealm { get; set; }
        [Column(Name = "clear_port", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ClearPort { get; set; }
        [Column(Name = "default_logon_domain"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string DefaultLogonDomain { get; set; }
        [Column(Name = "endpoint_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EndpointId { get; set; }
        [Column(Name = "is_admin_endpoint", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAdminEndpoint { get; set; }
        [Column(Name = "is_anonymous_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAnonymousEnabled { get; set; }
        [Column(Name = "is_basic_auth_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsBasicAuthEnabled { get; set; }
        [Column(Name = "is_clear_port_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsClearPortEnabled { get; set; }
        [Column(Name = "is_compression_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsCompressionEnabled { get; set; }
        [Column(Name = "is_digest_auth_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDigestAuthEnabled { get; set; }
        [Column(Name = "is_integrated_auth_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsIntegratedAuthEnabled { get; set; }
        [Column(Name = "is_kerberos_auth_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsKerberosAuthEnabled { get; set; }
        [Column(Name = "is_ntlm_auth_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsNtlmAuthEnabled { get; set; }
        [Column(Name = "is_ssl_port_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSslPortEnabled { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "protocol", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Protocol { get; set; }
        [Column(Name = "protocol_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ProtocolDesc { get; set; }
        [Column(Name = "site"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Site { get; set; }
        [Column(Name = "ssl_port", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SslPort { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.TinyInt)]
        public byte? State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        [Column(Name = "url_path"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string UrlPath { get; set; }
        #endregion
    }
    [Table(Name = "sys.service_broker_endpoints")]
    public sealed partial class ServiceBrokerEndPoints {

        #region Public Members
        [Column(Name = "certificate_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CertificateId { get; set; }
        [Column(Name = "connection_auth", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte ConnectionAuth { get; set; }
        [Column(Name = "connection_auth_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ConnectionAuthDesc { get; set; }
        [Column(Name = "encryption_algorithm", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte EncryptionAlgorithm { get; set; }
        [Column(Name = "encryption_algorithm_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string EncryptionAlgorithmDesc { get; set; }
        [Column(Name = "endpoint_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EndpointId { get; set; }
        [Column(Name = "is_admin_endpoint", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAdminEndpoint { get; set; }
        [Column(Name = "is_message_forwarding_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsMessageForwardingEnabled { get; set; }
        [Column(Name = "message_forwarding_size", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MessageForwardingSize { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "protocol", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Protocol { get; set; }
        [Column(Name = "protocol_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ProtocolDesc { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.TinyInt)]
        public byte? State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.soap_endpoints")]
    public sealed partial class SoapEndPoints {

        #region Public Members
        [Column(Name = "default_database"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string DefaultDatabase { get; set; }
        [Column(Name = "default_namespace"), SqlType(SqlTypeType.NVarChar, Length = 768)]
        public string DefaultNamespace { get; set; }
        [Column(Name = "default_result_schema"), SqlType(SqlTypeType.TinyInt)]
        public byte? DefaultResultSchema { get; set; }
        [Column(Name = "default_result_schema_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string DefaultResultSchemaDesc { get; set; }
        [Column(Name = "endpoint_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EndpointId { get; set; }
        [Column(Name = "header_limit", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int HeaderLimit { get; set; }
        [Column(Name = "is_admin_endpoint", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAdminEndpoint { get; set; }
        [Column(Name = "is_session_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSessionEnabled { get; set; }
        [Column(Name = "is_sql_language_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSqlLanguageEnabled { get; set; }
        [Column(Name = "is_xml_charset_enforced", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsXmlCharsetEnforced { get; set; }
        [Column(Name = "login_type"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string LoginType { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "protocol", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Protocol { get; set; }
        [Column(Name = "protocol_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ProtocolDesc { get; set; }
        [Column(Name = "session_timeout", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SessionTimeout { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.TinyInt)]
        public byte? State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        [Column(Name = "wsdl_generator_procedure"), SqlType(SqlTypeType.NVarChar, Length = 1552)]
        public string WsdlGeneratorProcedure { get; set; }
        #endregion
    }
    [Table(Name = "sys.tcp_endpoints")]
    public sealed partial class TcpEndPoints {

        #region Public Members
        [Column(Name = "endpoint_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EndpointId { get; set; }
        [Column(Name = "ip_address"), SqlType(SqlTypeType.VarChar, Length = 45)]
        public string IpAddress { get; set; }
        [Column(Name = "is_admin_endpoint", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAdminEndpoint { get; set; }
        [Column(Name = "is_dynamic_port", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDynamicPort { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "port", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Port { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "protocol", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Protocol { get; set; }
        [Column(Name = "protocol_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ProtocolDesc { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.TinyInt)]
        public byte? State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.via_endpoints")]
    public sealed partial class ViaEndPoints {

        #region Public Members
        [Column(Name = "discriminator"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Discriminator { get; set; }
        [Column(Name = "endpoint_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EndpointId { get; set; }
        [Column(Name = "is_admin_endpoint", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAdminEndpoint { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "protocol", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Protocol { get; set; }
        [Column(Name = "protocol_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ProtocolDesc { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.TinyInt)]
        public byte? State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    #endregion

    #region MirroringWitness
    [Table(Name = "sys.database_mirroring_witnesses")]
    public sealed partial class DatabaseMirroringWitnesses {

        #region Public Members
        [Column(Name = "database_name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string DatabaseName { get; set; }
        [Column(Name = "family_guid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid FamilyGuid { get; set; }
        [Column(Name = "is_suspended"), SqlType(SqlTypeType.Bit)]
        public bool? IsSuspended { get; set; }
        [Column(Name = "is_suspended_sequence_number", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IsSuspendedSequenceNumber { get; set; }
        [Column(Name = "mirror_server_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string MirrorServerName { get; set; }
        [Column(Name = "mirroring_guid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid MirroringGuid { get; set; }
        [Column(Name = "principal_server_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string PrincipalServerName { get; set; }
        [Column(Name = "role_sequence_number", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RoleSequenceNumber { get; set; }
        [Column(Name = "safety_level", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SafetyLevel { get; set; }
        [Column(Name = "safety_level_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string SafetyLevelDesc { get; set; }
        [Column(Name = "safety_sequence_number", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SafetySequenceNumber { get; set; }
        #endregion
    }
    #endregion

    #region ExtendedProperties
    [Table(Name = "sys.extended_properties")]
    public sealed partial class ExtendedProperties {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "class_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ClassDesc { get; set; }
        [Column(Name = "major_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MajorId { get; set; }
        [Column(Name = "minor_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MinorId { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "value"), SqlType(SqlTypeType.SqlVariant)]
        public object Value { get; set; }
        #endregion
    }
    #endregion

    #region FullTextSearch
    [Table(Name = "sys.fulltext_catalogs")]
    public sealed partial class FullTextCatalogs {

        #region Public Members
        [Column(Name = "data_space_id"), SqlType(SqlTypeType.Int)]
        public int? DataSpaceId { get; set; }
        [Column(Name = "file_id"), SqlType(SqlTypeType.Int)]
        public int? FileId { get; set; }
        [Column(Name = "fulltext_catalog_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FulltextCatalogId { get; set; }
        [Column(Name = "is_accent_sensitivity_on", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsAccentSensitivityOn { get; set; }
        [Column(Name = "is_default", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDefault { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "path"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Path { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        #endregion
    }
    [Table(Name = "sys.fulltext_document_types")]
    public sealed partial class FullTextDocumentTypes {

        #region Public Members
        [Column(Name = "class_id", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid ClassId { get; set; }
        [Column(Name = "document_type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string DocumentType { get; set; }
        [Column(Name = "manufacturer"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Manufacturer { get; set; }
        [Column(Name = "path"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Path { get; set; }
        [Column(Name = "version", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Version { get; set; }
        #endregion
    }
    [Table(Name = "sys.fulltext_index_catalog_usages")]
    public sealed partial class FullTextIndexCatalogUsages {

        #region Public Members
        [Column(Name = "fulltext_catalog_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FulltextCatalogId { get; set; }
        [Column(Name = "index_id"), SqlType(SqlTypeType.Int)]
        public int? IndexId { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        #endregion
    }
    [Table(Name = "sys.fulltext_index_columns")]
    public sealed partial class FullTextIndexColumns {

        #region Public Members
        [Column(Name = "column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnId { get; set; }
        [Column(Name = "language_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int LanguageId { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "type_column_id"), SqlType(SqlTypeType.Int)]
        public int? TypeColumnId { get; set; }
        #endregion
    }
    [Table(Name = "sys.fulltext_indexes")]
    public sealed partial class FullTextIndexes {

        #region Public Members
        [Column(Name = "change_tracking_state"), SqlType(SqlTypeType.Char, Length = 1)]
        public string ChangeTrackingState { get; set; }
        [Column(Name = "change_tracking_state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ChangeTrackingStateDesc { get; set; }
        [Column(Name = "crawl_end_date"), SqlType(SqlTypeType.DateTime)]
        public DateTime? CrawlEndDate { get; set; }
        [Column(Name = "crawl_start_date"), SqlType(SqlTypeType.DateTime)]
        public DateTime? CrawlStartDate { get; set; }
        [Column(Name = "crawl_type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string CrawlType { get; set; }
        [Column(Name = "crawl_type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string CrawlTypeDesc { get; set; }
        [Column(Name = "fulltext_catalog_id"), SqlType(SqlTypeType.Int)]
        public int? FulltextCatalogId { get; set; }
        [Column(Name = "has_crawl_completed", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool HasCrawlCompleted { get; set; }
        [Column(Name = "incremental_timestamp"), SqlType(SqlTypeType.Binary)]
        public Binary IncrementalTimestamp { get; set; }
        [Column(Name = "is_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsEnabled { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "unique_index_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UniqueIndexId { get; set; }
        #endregion
    }
    [Table(Name = "sys.fulltext_languages")]
    public sealed partial class FullTextLanguages {

        #region Public Members
        [Column(Name = "lcid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Lcid { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        #endregion
    }
    #endregion

    #region LinkedServers
    [Table(Name = "sys.linked_logins")]
    public sealed partial class LinkedLogins {

        #region Public Members
        [Column(Name = "local_principal_id"), SqlType(SqlTypeType.Int)]
        public int? LocalPrincipalId { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "remote_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string RemoteName { get; set; }
        [Column(Name = "server_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServerId { get; set; }
        [Column(Name = "uses_self_credential", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool UsesSelfCredential { get; set; }
        #endregion
    }
    [Table(Name = "sys.remote_logins")]
    public sealed partial class RemoteLogins {

        #region Public Members
        [Column(Name = "local_principal_id"), SqlType(SqlTypeType.Int)]
        public int? LocalPrincipalId { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "remote_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string RemoteName { get; set; }
        [Column(Name = "server_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServerId { get; set; }
        #endregion
    }
    [Table(Name = "sys.servers")]
    public sealed partial class Servers {

        #region Public Members
        [Column(Name = "catalog"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Catalog { get; set; }
        [Column(Name = "collation_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string CollationName { get; set; }
        [Column(Name = "connect_timeout"), SqlType(SqlTypeType.Int)]
        public int? ConnectTimeout { get; set; }
        [Column(Name = "data_source"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string DataSource { get; set; }
        [Column(Name = "is_collation_compatible", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsCollationCompatible { get; set; }
        [Column(Name = "is_data_access_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDataAccessEnabled { get; set; }
        [Column(Name = "is_distributor"), SqlType(SqlTypeType.Bit)]
        public bool? IsDistributor { get; set; }
        [Column(Name = "is_linked", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsLinked { get; set; }
        [Column(Name = "is_nonsql_subscriber"), SqlType(SqlTypeType.Bit)]
        public bool? IsNonsqlSubscriber { get; set; }
        [Column(Name = "is_publisher", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsPublisher { get; set; }
        [Column(Name = "is_remote_login_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRemoteLoginEnabled { get; set; }
        [Column(Name = "is_rpc_out_enabled", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRpcOutEnabled { get; set; }
        [Column(Name = "is_subscriber"), SqlType(SqlTypeType.Bit)]
        public bool? IsSubscriber { get; set; }
        [Column(Name = "is_system", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsSystem { get; set; }
        [Column(Name = "lazy_schema_validation", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool LazySchemaValidation { get; set; }
        [Column(Name = "location"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Location { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "product", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Product { get; set; }
        [Column(Name = "provider", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Provider { get; set; }
        [Column(Name = "provider_string"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string ProviderString { get; set; }
        [Column(Name = "query_timeout"), SqlType(SqlTypeType.Int)]
        public int? QueryTimeout { get; set; }
        [Column(Name = "server_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServerId { get; set; }
        [Column(Name = "uses_remote_collation", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool UsesRemoteCollation { get; set; }
        #endregion
    }
    #endregion

    #region CatalogErrorMessages
    [Table(Name = "sys.messages")]
    public sealed partial class Messages {

        #region Public Members
        [Column(Name = "is_event_logged", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsEventLogged { get; set; }
        [Column(Name = "language_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short LanguageId { get; set; }
        [Column(Name = "message_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MessageId { get; set; }
        [Column(Name = "severity"), SqlType(SqlTypeType.TinyInt)]
        public byte? Severity { get; set; }
        [Column(Name = "text", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 4096)]
        public string Text { get; set; }
        #endregion
    }
    #endregion

    #region PartitionFunction
    [Table(Name = "sys.partition_functions")]
    public sealed partial class PartitionFunctions {

        #region Public Members
        [Column(Name = "boundary_value_on_right", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool BoundaryValueOnRight { get; set; }
        [Column(Name = "create_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreateDate { get; set; }
        [Column(Name = "fanout", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Fanout { get; set; }
        [Column(Name = "function_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FunctionId { get; set; }
        [Column(Name = "modify_date", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ModifyDate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.partition_parameters")]
    public sealed partial class PartitionParameters {

        #region Public Members
        [Column(Name = "collation_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string CollationName { get; set; }
        [Column(Name = "function_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FunctionId { get; set; }
        [Column(Name = "max_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxLength { get; set; }
        [Column(Name = "parameter_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParameterId { get; set; }
        [Column(Name = "precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Precision { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "system_type_id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte SystemTypeId { get; set; }
        #endregion
    }
    [Table(Name = "sys.partition_range_values")]
    public sealed partial class PartitionRangeValues {

        #region Public Members
        [Column(Name = "boundary_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BoundaryId { get; set; }
        [Column(Name = "function_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FunctionId { get; set; }
        [Column(Name = "parameter_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParameterId { get; set; }
        [Column(Name = "value"), SqlType(SqlTypeType.SqlVariant)]
        public object Value { get; set; }
        #endregion
    }
    #endregion

    #region Schemas
    [Table(Name = "sys.schemas")]
    public sealed partial class Schemas {

        #region Public Members
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "schema_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SchemaId { get; set; }
        #endregion
    }
    #endregion
    #endregion

    #region Deprecated
    [Table(Name = "sys.database_principal_aliases")]
    public sealed partial class DatabasePrincipalAliases {

        #region Public Members
        [Column(Name = "alias_principal_id"), SqlType(SqlTypeType.Int)]
        public int? AliasPrincipalId { get; set; }
        [Column(Name = "is_windows_sid", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsWindowsSid { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        #endregion
    }
    #endregion

    #region DynamicManagementViews
    #region ServiceBroker
    [Table(Name = "sys.dm_broker_activated_tasks")]
    public sealed partial class DmBrokerActivatedTasks {

        #region Public Members
        [Column(Name = "database_id"), SqlType(SqlTypeType.SmallInt)]
        public short? DatabaseId { get; set; }
        [Column(Name = "execute_as"), SqlType(SqlTypeType.Int)]
        public int? ExecuteAs { get; set; }
        [Column(Name = "procedure_name"), SqlType(SqlTypeType.NVarChar, Length = 650)]
        public string ProcedureName { get; set; }
        [Column(Name = "queue_id"), SqlType(SqlTypeType.Int)]
        public int? QueueId { get; set; }
        [Column(Name = "spid"), SqlType(SqlTypeType.Int)]
        public int? Spid { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_broker_connections")]
    public sealed partial class DmBrokerConnections {

        #region Public Members
        [Column(Name = "authentication_method"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string AuthenticationMethod { get; set; }
        [Column(Name = "connect_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? ConnectTime { get; set; }
        [Column(Name = "connection_id"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? ConnectionId { get; set; }
        [Column(Name = "encryption_algorithm"), SqlType(SqlTypeType.SmallInt)]
        public short? EncryptionAlgorithm { get; set; }
        [Column(Name = "encryption_algorithm_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string EncryptionAlgorithmDesc { get; set; }
        [Column(Name = "is_accept"), SqlType(SqlTypeType.Bit)]
        public bool? IsAccept { get; set; }
        [Column(Name = "is_receive_flow_controlled"), SqlType(SqlTypeType.Bit)]
        public bool? IsReceiveFlowControlled { get; set; }
        [Column(Name = "is_send_flow_controlled"), SqlType(SqlTypeType.Bit)]
        public bool? IsSendFlowControlled { get; set; }
        [Column(Name = "last_activity_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastActivityTime { get; set; }
        [Column(Name = "login_state"), SqlType(SqlTypeType.SmallInt)]
        public short? LoginState { get; set; }
        [Column(Name = "login_state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string LoginStateDesc { get; set; }
        [Column(Name = "login_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LoginTime { get; set; }
        [Column(Name = "peer_arbitration_id"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? PeerArbitrationId { get; set; }
        [Column(Name = "peer_certificate_id"), SqlType(SqlTypeType.Int)]
        public int? PeerCertificateId { get; set; }
        [Column(Name = "principal_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string PrincipalName { get; set; }
        [Column(Name = "receives_posted"), SqlType(SqlTypeType.SmallInt)]
        public short? ReceivesPosted { get; set; }
        [Column(Name = "remote_user_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string RemoteUserName { get; set; }
        [Column(Name = "sends_posted"), SqlType(SqlTypeType.SmallInt)]
        public short? SendsPosted { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.SmallInt)]
        public short? State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "total_bytes_received"), SqlType(SqlTypeType.BigInt)]
        public long? TotalBytesReceived { get; set; }
        [Column(Name = "total_bytes_sent"), SqlType(SqlTypeType.BigInt)]
        public long? TotalBytesSent { get; set; }
        [Column(Name = "total_fragments_received"), SqlType(SqlTypeType.BigInt)]
        public long? TotalFragmentsReceived { get; set; }
        [Column(Name = "total_fragments_sent"), SqlType(SqlTypeType.BigInt)]
        public long? TotalFragmentsSent { get; set; }
        [Column(Name = "total_receives"), SqlType(SqlTypeType.BigInt)]
        public long? TotalReceives { get; set; }
        [Column(Name = "total_sends"), SqlType(SqlTypeType.BigInt)]
        public long? TotalSends { get; set; }
        [Column(Name = "transport_stream_id"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? TransportStreamId { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_broker_forwarded_messages")]
    public sealed partial class DmBrokerForwardedMessages {

        #region Public Members
        [Column(Name = "adjacent_broker_address"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string AdjacentBrokerAddress { get; set; }
        [Column(Name = "conversation_id"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? ConversationId { get; set; }
        [Column(Name = "from_broker_instance"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string FromBrokerInstance { get; set; }
        [Column(Name = "from_service_name"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string FromServiceName { get; set; }
        [Column(Name = "hops_remaining"), SqlType(SqlTypeType.TinyInt)]
        public byte? HopsRemaining { get; set; }
        [Column(Name = "is_initiator"), SqlType(SqlTypeType.Bit)]
        public bool? IsInitiator { get; set; }
        [Column(Name = "message_fragment_number"), SqlType(SqlTypeType.Int)]
        public int? MessageFragmentNumber { get; set; }
        [Column(Name = "message_id"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? MessageId { get; set; }
        [Column(Name = "message_sequence_number"), SqlType(SqlTypeType.BigInt)]
        public long? MessageSequenceNumber { get; set; }
        [Column(Name = "time_consumed"), SqlType(SqlTypeType.Int)]
        public int? TimeConsumed { get; set; }
        [Column(Name = "time_to_live"), SqlType(SqlTypeType.Int)]
        public int? TimeToLive { get; set; }
        [Column(Name = "to_broker_instance"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string ToBrokerInstance { get; set; }
        [Column(Name = "to_service_name"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string ToServiceName { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_broker_queue_monitors")]
    public sealed partial class DmBrokerQueueMonitors {

        #region Public Members
        [Column(Name = "database_id"), SqlType(SqlTypeType.Int)]
        public int? DatabaseId { get; set; }
        [Column(Name = "last_activated_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastActivatedTime { get; set; }
        [Column(Name = "last_empty_rowset_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastEmptyRowsetTime { get; set; }
        [Column(Name = "queue_id"), SqlType(SqlTypeType.Int)]
        public int? QueueId { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string State { get; set; }
        [Column(Name = "tasks_waiting"), SqlType(SqlTypeType.Int)]
        public int? TasksWaiting { get; set; }
        #endregion
    }
    #endregion

    #region Clr
    [Table(Name = "sys.dm_clr_appdomains")]
    public sealed partial class DmClrAppDomains {

        #region Public Members
        [Column(Name = "appdomain_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary AppdomainAddress { get; set; }
        [Column(Name = "appdomain_id"), SqlType(SqlTypeType.Int)]
        public int? AppdomainId { get; set; }
        [Column(Name = "appdomain_name"), SqlType(SqlTypeType.NVarChar, Length = 772)]
        public string AppdomainName { get; set; }
        [Column(Name = "cost"), SqlType(SqlTypeType.Int)]
        public int? Cost { get; set; }
        [Column(Name = "creation_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? CreationTime { get; set; }
        [Column(Name = "db_id"), SqlType(SqlTypeType.Int)]
        public int? DbId { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string State { get; set; }
        [Column(Name = "strong_refcount"), SqlType(SqlTypeType.Int)]
        public int? StrongRefcount { get; set; }
        [Column(Name = "user_id"), SqlType(SqlTypeType.Int)]
        public int? UserId { get; set; }
        [Column(Name = "value"), SqlType(SqlTypeType.Int)]
        public int? Value { get; set; }
        [Column(Name = "weak_refcount"), SqlType(SqlTypeType.Int)]
        public int? WeakRefcount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_clr_loaded_assemblies")]
    public sealed partial class DmClrLoadedAssemblies {

        #region Public Members
        [Column(Name = "appdomain_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary AppdomainAddress { get; set; }
        [Column(Name = "assembly_id"), SqlType(SqlTypeType.Int)]
        public int? AssemblyId { get; set; }
        [Column(Name = "load_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LoadTime { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_clr_properties")]
    public sealed partial class DmClrProperties {

        #region Public Members
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "value"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Value { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_clr_tasks")]
    public sealed partial class DmClrTasks {

        #region Public Members
        [Column(Name = "abort_state"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string AbortState { get; set; }
        [Column(Name = "affinity_count"), SqlType(SqlTypeType.Int)]
        public int? AffinityCount { get; set; }
        [Column(Name = "appdomain_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary AppdomainAddress { get; set; }
        [Column(Name = "forced_yield_count"), SqlType(SqlTypeType.Int)]
        public int? ForcedYieldCount { get; set; }
        [Column(Name = "sos_task_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary SosTaskAddress { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string State { get; set; }
        [Column(Name = "task_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary TaskAddress { get; set; }
        [Column(Name = "type"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Type { get; set; }
        #endregion
    }
    #endregion

    #region Database
    [Table(Name = "sys.dm_db_file_space_usage")]
    public sealed partial class DmDbFileSpaceUsage {

        #region Public Members
        [Column(Name = "database_id"), SqlType(SqlTypeType.SmallInt)]
        public short? DatabaseId { get; set; }
        [Column(Name = "file_id"), SqlType(SqlTypeType.SmallInt)]
        public short? FileId { get; set; }
        [Column(Name = "internal_object_reserved_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? InternalObjectReservedPageCount { get; set; }
        [Column(Name = "mixed_extent_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? MixedExtentPageCount { get; set; }
        [Column(Name = "unallocated_extent_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? UnallocatedExtentPageCount { get; set; }
        [Column(Name = "user_object_reserved_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? UserObjectReservedPageCount { get; set; }
        [Column(Name = "version_store_reserved_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? VersionStoreReservedPageCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_db_partition_stats")]
    public sealed partial class DmDbPartitionStats {

        #region Public Members
        [Column(Name = "in_row_data_page_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long InRowDataPageCount { get; set; }
        [Column(Name = "in_row_reserved_page_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long InRowReservedPageCount { get; set; }
        [Column(Name = "in_row_used_page_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long InRowUsedPageCount { get; set; }
        [Column(Name = "index_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IndexId { get; set; }
        [Column(Name = "lob_reserved_page_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LobReservedPageCount { get; set; }
        [Column(Name = "lob_used_page_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LobUsedPageCount { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "partition_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PartitionId { get; set; }
        [Column(Name = "partition_number", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PartitionNumber { get; set; }
        [Column(Name = "reserved_page_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long ReservedPageCount { get; set; }
        [Column(Name = "row_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RowCount { get; set; }
        [Column(Name = "row_overflow_reserved_page_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RowOverflowReservedPageCount { get; set; }
        [Column(Name = "row_overflow_used_page_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RowOverflowUsedPageCount { get; set; }
        [Column(Name = "used_page_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long UsedPageCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_db_session_space_usage")]
    public sealed partial class DmDbSessionSpaceUsage {

        #region Public Members
        [Column(Name = "database_id"), SqlType(SqlTypeType.SmallInt)]
        public short? DatabaseId { get; set; }
        [Column(Name = "internal_objects_alloc_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? InternalObjectsAllocPageCount { get; set; }
        [Column(Name = "internal_objects_dealloc_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? InternalObjectsDeallocPageCount { get; set; }
        [Column(Name = "session_id"), SqlType(SqlTypeType.SmallInt)]
        public short? SessionId { get; set; }
        [Column(Name = "user_objects_alloc_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? UserObjectsAllocPageCount { get; set; }
        [Column(Name = "user_objects_dealloc_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? UserObjectsDeallocPageCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_db_task_space_usage")]
    public sealed partial class DmDbTaskSpaceUsage {

        #region Public Members
        [Column(Name = "database_id"), SqlType(SqlTypeType.SmallInt)]
        public short? DatabaseId { get; set; }
        [Column(Name = "exec_context_id"), SqlType(SqlTypeType.Int)]
        public int? ExecContextId { get; set; }
        [Column(Name = "internal_objects_alloc_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? InternalObjectsAllocPageCount { get; set; }
        [Column(Name = "internal_objects_dealloc_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? InternalObjectsDeallocPageCount { get; set; }
        [Column(Name = "request_id"), SqlType(SqlTypeType.Int)]
        public int? RequestId { get; set; }
        [Column(Name = "session_id"), SqlType(SqlTypeType.SmallInt)]
        public short? SessionId { get; set; }
        [Column(Name = "user_objects_alloc_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? UserObjectsAllocPageCount { get; set; }
        [Column(Name = "user_objects_dealloc_page_count"), SqlType(SqlTypeType.BigInt)]
        public long? UserObjectsDeallocPageCount { get; set; }
        #endregion
    }
    #endregion

    #region Index
    [Table(Name = "sys.dm_db_index_usage_stats")]
    public sealed partial class DmDbIndexUsageStats {

        #region Public Members
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short DatabaseId { get; set; }
        [Column(Name = "index_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IndexId { get; set; }
        [Column(Name = "last_system_lookup"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastSystemLookup { get; set; }
        [Column(Name = "last_system_scan"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastSystemScan { get; set; }
        [Column(Name = "last_system_seek"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastSystemSeek { get; set; }
        [Column(Name = "last_system_update"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastSystemUpdate { get; set; }
        [Column(Name = "last_user_lookup"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastUserLookup { get; set; }
        [Column(Name = "last_user_scan"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastUserScan { get; set; }
        [Column(Name = "last_user_seek"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastUserSeek { get; set; }
        [Column(Name = "last_user_update"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastUserUpdate { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "system_lookups", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SystemLookups { get; set; }
        [Column(Name = "system_scans", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SystemScans { get; set; }
        [Column(Name = "system_seeks", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SystemSeeks { get; set; }
        [Column(Name = "system_updates", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SystemUpdates { get; set; }
        [Column(Name = "user_lookups", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long UserLookups { get; set; }
        [Column(Name = "user_scans", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long UserScans { get; set; }
        [Column(Name = "user_seeks", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long UserSeeks { get; set; }
        [Column(Name = "user_updates", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long UserUpdates { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_db_missing_index_details")]
    public sealed partial class DmDbMissingIndexDetails {

        #region Public Members
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short DatabaseId { get; set; }
        [Column(Name = "equality_columns"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string EqualityColumns { get; set; }
        [Column(Name = "included_columns"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string IncludedColumns { get; set; }
        [Column(Name = "index_handle", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IndexHandle { get; set; }
        [Column(Name = "inequality_columns"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string InequalityColumns { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "statement"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Statement { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_db_missing_index_group_stats")]
    public sealed partial class DmDbMissingIndexGroupStats {

        #region Public Members
        [Column(Name = "avg_system_impact"), SqlType(SqlTypeType.Float)]
        public double? AvgSystemImpact { get; set; }
        [Column(Name = "avg_total_system_cost"), SqlType(SqlTypeType.Float)]
        public double? AvgTotalSystemCost { get; set; }
        [Column(Name = "avg_total_user_cost"), SqlType(SqlTypeType.Float)]
        public double? AvgTotalUserCost { get; set; }
        [Column(Name = "avg_user_impact"), SqlType(SqlTypeType.Float)]
        public double? AvgUserImpact { get; set; }
        [Column(Name = "group_handle", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int GroupHandle { get; set; }
        [Column(Name = "last_system_scan"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastSystemScan { get; set; }
        [Column(Name = "last_system_seek"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastSystemSeek { get; set; }
        [Column(Name = "last_user_scan"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastUserScan { get; set; }
        [Column(Name = "last_user_seek"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastUserSeek { get; set; }
        [Column(Name = "system_scans", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SystemScans { get; set; }
        [Column(Name = "system_seeks", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SystemSeeks { get; set; }
        [Column(Name = "unique_compiles", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long UniqueCompiles { get; set; }
        [Column(Name = "user_scans", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long UserScans { get; set; }
        [Column(Name = "user_seeks", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long UserSeeks { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_db_missing_index_groups")]
    public sealed partial class DmDbMissingIndexGroups {

        #region Public Members
        [Column(Name = "index_group_handle", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IndexGroupHandle { get; set; }
        [Column(Name = "index_handle", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IndexHandle { get; set; }
        #endregion
    }
    #endregion

    #region Mirroring
    [Table(Name = "sys.dm_db_mirroring_connections")]
    public sealed partial class DmDbMirroringConnections {

        #region Public Members
        [Column(Name = "authentication_method"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string AuthenticationMethod { get; set; }
        [Column(Name = "connect_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? ConnectTime { get; set; }
        [Column(Name = "connection_id"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? ConnectionId { get; set; }
        [Column(Name = "encryption_algorithm"), SqlType(SqlTypeType.SmallInt)]
        public short? EncryptionAlgorithm { get; set; }
        [Column(Name = "encryption_algorithm_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string EncryptionAlgorithmDesc { get; set; }
        [Column(Name = "is_accept"), SqlType(SqlTypeType.Bit)]
        public bool? IsAccept { get; set; }
        [Column(Name = "is_receive_flow_controlled"), SqlType(SqlTypeType.Bit)]
        public bool? IsReceiveFlowControlled { get; set; }
        [Column(Name = "is_send_flow_controlled"), SqlType(SqlTypeType.Bit)]
        public bool? IsSendFlowControlled { get; set; }
        [Column(Name = "last_activity_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastActivityTime { get; set; }
        [Column(Name = "login_state"), SqlType(SqlTypeType.SmallInt)]
        public short? LoginState { get; set; }
        [Column(Name = "login_state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string LoginStateDesc { get; set; }
        [Column(Name = "login_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LoginTime { get; set; }
        [Column(Name = "peer_arbitration_id"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? PeerArbitrationId { get; set; }
        [Column(Name = "peer_certificate_id"), SqlType(SqlTypeType.Int)]
        public int? PeerCertificateId { get; set; }
        [Column(Name = "principal_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string PrincipalName { get; set; }
        [Column(Name = "receives_posted"), SqlType(SqlTypeType.SmallInt)]
        public short? ReceivesPosted { get; set; }
        [Column(Name = "remote_user_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string RemoteUserName { get; set; }
        [Column(Name = "sends_posted"), SqlType(SqlTypeType.SmallInt)]
        public short? SendsPosted { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.SmallInt)]
        public short? State { get; set; }
        [Column(Name = "state_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StateDesc { get; set; }
        [Column(Name = "total_bytes_received"), SqlType(SqlTypeType.BigInt)]
        public long? TotalBytesReceived { get; set; }
        [Column(Name = "total_bytes_sent"), SqlType(SqlTypeType.BigInt)]
        public long? TotalBytesSent { get; set; }
        [Column(Name = "total_fragments_received"), SqlType(SqlTypeType.BigInt)]
        public long? TotalFragmentsReceived { get; set; }
        [Column(Name = "total_fragments_sent"), SqlType(SqlTypeType.BigInt)]
        public long? TotalFragmentsSent { get; set; }
        [Column(Name = "total_receives"), SqlType(SqlTypeType.BigInt)]
        public long? TotalReceives { get; set; }
        [Column(Name = "total_sends"), SqlType(SqlTypeType.BigInt)]
        public long? TotalSends { get; set; }
        [Column(Name = "transport_stream_id"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? TransportStreamId { get; set; }
        #endregion
    }
    #endregion

    #region Execution
    [Table(Name = "sys.dm_exec_background_job_queue")]
    public sealed partial class DmExecBackgroundJobQueue {

        #region Public Members
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseId { get; set; }
        [Column(Name = "error_code"), SqlType(SqlTypeType.Int)]
        public int? ErrorCode { get; set; }
        [Column(Name = "in_progress", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short InProgress { get; set; }
        [Column(Name = "job_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int JobId { get; set; }
        [Column(Name = "object_id1", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId1 { get; set; }
        [Column(Name = "object_id2", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId2 { get; set; }
        [Column(Name = "object_id3", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId3 { get; set; }
        [Column(Name = "object_id4", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId4 { get; set; }
        [Column(Name = "request_type", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short RequestType { get; set; }
        [Column(Name = "retry_count", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short RetryCount { get; set; }
        [Column(Name = "session_id"), SqlType(SqlTypeType.SmallInt)]
        public short? SessionId { get; set; }
        [Column(Name = "time_queued", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime TimeQueued { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_exec_background_job_queue_stats")]
    public sealed partial class DmExecBackGroundJobQueueStats {

        #region Public Members
        [Column(Name = "elapsed_avg_ms", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ElapsedAvgMs { get; set; }
        [Column(Name = "elapsed_max_ms", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ElapsedMaxMs { get; set; }
        [Column(Name = "ended_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EndedCount { get; set; }
        [Column(Name = "enqueue_failed_duplicate_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EnqueueFailedDuplicateCount { get; set; }
        [Column(Name = "enqueue_failed_full_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EnqueueFailedFullCount { get; set; }
        [Column(Name = "enqueued_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EnqueuedCount { get; set; }
        [Column(Name = "failed_giveup_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FailedGiveupCount { get; set; }
        [Column(Name = "failed_lock_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FailedLockCount { get; set; }
        [Column(Name = "failed_other_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FailedOtherCount { get; set; }
        [Column(Name = "queue_max_len", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int QueueMaxLen { get; set; }
        [Column(Name = "started_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int StartedCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_exec_cached_plans")]
    public sealed partial class DmExecCachedPlans {

        #region Public Members
        [Column(Name = "bucketid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Bucketid { get; set; }
        [Column(Name = "cacheobjtype", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 100)]
        public string Cacheobjtype { get; set; }
        [Column(Name = "memory_object_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryObjectAddress { get; set; }
        [Column(Name = "objtype", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 40)]
        public string Objtype { get; set; }
        [Column(Name = "plan_handle", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 64)]
        public Binary PlanHandle { get; set; }
        [Column(Name = "refcounts", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Refcounts { get; set; }
        [Column(Name = "size_in_bytes", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SizeInBytes { get; set; }
        [Column(Name = "usecounts", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Usecounts { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_exec_connections")]
    public sealed partial class DmExecConnections {

        #region Public Members
        [Column(Name = "auth_scheme", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 80)]
        public string AuthScheme { get; set; }
        [Column(Name = "client_net_address"), SqlType(SqlTypeType.VarChar, Length = 48)]
        public string ClientNetAddress { get; set; }
        [Column(Name = "client_tcp_port"), SqlType(SqlTypeType.Int)]
        public int? ClientTcpPort { get; set; }
        [Column(Name = "connect_time", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime ConnectTime { get; set; }
        [Column(Name = "connection_id", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid ConnectionId { get; set; }
        [Column(Name = "encrypt_option", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 80)]
        public string EncryptOption { get; set; }
        [Column(Name = "endpoint_id"), SqlType(SqlTypeType.Int)]
        public int? EndpointId { get; set; }
        [Column(Name = "last_read"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastRead { get; set; }
        [Column(Name = "last_write"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastWrite { get; set; }
        [Column(Name = "local_net_address"), SqlType(SqlTypeType.VarChar, Length = 48)]
        public string LocalNetAddress { get; set; }
        [Column(Name = "local_tcp_port"), SqlType(SqlTypeType.Int)]
        public int? LocalTcpPort { get; set; }
        [Column(Name = "most_recent_session_id"), SqlType(SqlTypeType.Int)]
        public int? MostRecentSessionId { get; set; }
        [Column(Name = "most_recent_sql_handle"), SqlType(SqlTypeType.VarBinary, Length = 64)]
        public Binary MostRecentSqlHandle { get; set; }
        [Column(Name = "net_packet_size"), SqlType(SqlTypeType.Int)]
        public int? NetPacketSize { get; set; }
        [Column(Name = "net_transport", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 80)]
        public string NetTransport { get; set; }
        [Column(Name = "node_affinity", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short NodeAffinity { get; set; }
        [Column(Name = "num_reads"), SqlType(SqlTypeType.Int)]
        public int? NumReads { get; set; }
        [Column(Name = "num_writes"), SqlType(SqlTypeType.Int)]
        public int? NumWrites { get; set; }
        [Column(Name = "parent_connection_id"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? ParentConnectionId { get; set; }
        [Column(Name = "protocol_type"), SqlType(SqlTypeType.NVarChar, Length = 80)]
        public string ProtocolType { get; set; }
        [Column(Name = "protocol_version"), SqlType(SqlTypeType.Int)]
        public int? ProtocolVersion { get; set; }
        [Column(Name = "session_id"), SqlType(SqlTypeType.Int)]
        public int? SessionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_exec_query_memory_grants")]
    public sealed partial class DmExecQueryMemoryGrants {

        #region Public Members
        [Column(Name = "dop"), SqlType(SqlTypeType.SmallInt)]
        public short? Dop { get; set; }
        [Column(Name = "grant_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? GrantTime { get; set; }
        [Column(Name = "granted_memory_kb"), SqlType(SqlTypeType.BigInt)]
        public long? GrantedMemoryKb { get; set; }
        [Column(Name = "is_next_candidate"), SqlType(SqlTypeType.Bit)]
        public bool? IsNextCandidate { get; set; }
        [Column(Name = "max_used_memory_kb"), SqlType(SqlTypeType.BigInt)]
        public long? MaxUsedMemoryKb { get; set; }
        [Column(Name = "plan_handle"), SqlType(SqlTypeType.VarBinary, Length = 64)]
        public Binary PlanHandle { get; set; }
        [Column(Name = "query_cost"), SqlType(SqlTypeType.Float)]
        public double? QueryCost { get; set; }
        [Column(Name = "queue_id"), SqlType(SqlTypeType.SmallInt)]
        public short? QueueId { get; set; }
        [Column(Name = "request_id"), SqlType(SqlTypeType.Int)]
        public int? RequestId { get; set; }
        [Column(Name = "request_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? RequestTime { get; set; }
        [Column(Name = "requested_memory_kb"), SqlType(SqlTypeType.BigInt)]
        public long? RequestedMemoryKb { get; set; }
        [Column(Name = "required_memory_kb"), SqlType(SqlTypeType.BigInt)]
        public long? RequiredMemoryKb { get; set; }
        [Column(Name = "resource_semaphore_id"), SqlType(SqlTypeType.SmallInt)]
        public short? ResourceSemaphoreId { get; set; }
        [Column(Name = "scheduler_id"), SqlType(SqlTypeType.Int)]
        public int? SchedulerId { get; set; }
        [Column(Name = "session_id"), SqlType(SqlTypeType.SmallInt)]
        public short? SessionId { get; set; }
        [Column(Name = "sql_handle"), SqlType(SqlTypeType.VarBinary, Length = 64)]
        public Binary SqlHandle { get; set; }
        [Column(Name = "timeout_sec"), SqlType(SqlTypeType.Int)]
        public int? TimeoutSec { get; set; }
        [Column(Name = "used_memory_kb"), SqlType(SqlTypeType.BigInt)]
        public long? UsedMemoryKb { get; set; }
        [Column(Name = "wait_order"), SqlType(SqlTypeType.Int)]
        public int? WaitOrder { get; set; }
        [Column(Name = "wait_time_ms"), SqlType(SqlTypeType.BigInt)]
        public long? WaitTimeMs { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_exec_query_optimizer_info")]
    public sealed partial class DmExecQueryOptimizerInfo {

        #region Public Members
        [Column(Name = "counter", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Counter { get; set; }
        [Column(Name = "occurrence", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Occurrence { get; set; }
        [Column(Name = "value"), SqlType(SqlTypeType.Float)]
        public double? Value { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_exec_query_resource_semaphores")]
    public sealed partial class DmExecQueryResourceSemaphores {

        #region Public Members
        [Column(Name = "available_memory_kb"), SqlType(SqlTypeType.BigInt)]
        public long? AvailableMemoryKb { get; set; }
        [Column(Name = "forced_grant_count"), SqlType(SqlTypeType.BigInt)]
        public long? ForcedGrantCount { get; set; }
        [Column(Name = "granted_memory_kb"), SqlType(SqlTypeType.BigInt)]
        public long? GrantedMemoryKb { get; set; }
        [Column(Name = "grantee_count"), SqlType(SqlTypeType.Int)]
        public int? GranteeCount { get; set; }
        [Column(Name = "max_target_memory_kb"), SqlType(SqlTypeType.BigInt)]
        public long? MaxTargetMemoryKb { get; set; }
        [Column(Name = "resource_semaphore_id"), SqlType(SqlTypeType.SmallInt)]
        public short? ResourceSemaphoreId { get; set; }
        [Column(Name = "target_memory_kb"), SqlType(SqlTypeType.BigInt)]
        public long? TargetMemoryKb { get; set; }
        [Column(Name = "timeout_error_count"), SqlType(SqlTypeType.BigInt)]
        public long? TimeoutErrorCount { get; set; }
        [Column(Name = "total_memory_kb"), SqlType(SqlTypeType.BigInt)]
        public long? TotalMemoryKb { get; set; }
        [Column(Name = "used_memory_kb"), SqlType(SqlTypeType.BigInt)]
        public long? UsedMemoryKb { get; set; }
        [Column(Name = "waiter_count"), SqlType(SqlTypeType.Int)]
        public int? WaiterCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_exec_query_stats")]
    public sealed partial class DmExecQueryStats {

        #region Public Members
        [Column(Name = "creation_time", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreationTime { get; set; }
        [Column(Name = "execution_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long ExecutionCount { get; set; }
        [Column(Name = "last_clr_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LastClrTime { get; set; }
        [Column(Name = "last_elapsed_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LastElapsedTime { get; set; }
        [Column(Name = "last_execution_time", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime LastExecutionTime { get; set; }
        [Column(Name = "last_logical_reads", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LastLogicalReads { get; set; }
        [Column(Name = "last_logical_writes", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LastLogicalWrites { get; set; }
        [Column(Name = "last_physical_reads", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LastPhysicalReads { get; set; }
        [Column(Name = "last_worker_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LastWorkerTime { get; set; }
        [Column(Name = "max_clr_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MaxClrTime { get; set; }
        [Column(Name = "max_elapsed_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MaxElapsedTime { get; set; }
        [Column(Name = "max_logical_reads", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MaxLogicalReads { get; set; }
        [Column(Name = "max_logical_writes", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MaxLogicalWrites { get; set; }
        [Column(Name = "max_physical_reads", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MaxPhysicalReads { get; set; }
        [Column(Name = "max_worker_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MaxWorkerTime { get; set; }
        [Column(Name = "min_clr_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MinClrTime { get; set; }
        [Column(Name = "min_elapsed_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MinElapsedTime { get; set; }
        [Column(Name = "min_logical_reads", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MinLogicalReads { get; set; }
        [Column(Name = "min_logical_writes", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MinLogicalWrites { get; set; }
        [Column(Name = "min_physical_reads", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MinPhysicalReads { get; set; }
        [Column(Name = "min_worker_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MinWorkerTime { get; set; }
        [Column(Name = "plan_generation_num", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PlanGenerationNum { get; set; }
        [Column(Name = "plan_handle", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 64)]
        public Binary PlanHandle { get; set; }
        [Column(Name = "sql_handle", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 64)]
        public Binary SqlHandle { get; set; }
        [Column(Name = "statement_end_offset", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int StatementEndOffset { get; set; }
        [Column(Name = "statement_start_offset", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int StatementStartOffset { get; set; }
        [Column(Name = "total_clr_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TotalClrTime { get; set; }
        [Column(Name = "total_elapsed_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TotalElapsedTime { get; set; }
        [Column(Name = "total_logical_reads", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TotalLogicalReads { get; set; }
        [Column(Name = "total_logical_writes", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TotalLogicalWrites { get; set; }
        [Column(Name = "total_physical_reads", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TotalPhysicalReads { get; set; }
        [Column(Name = "total_worker_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TotalWorkerTime { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_exec_query_transformation_stats")]
    public sealed partial class DmExecQueryTransformationStats {

        #region Public Members
        [Column(Name = "built_substitute", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long BuiltSubstitute { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.VarChar, Length = 8000)]
        public string Name { get; set; }
        [Column(Name = "promise_avg", CanBeNull = false), SqlType(SqlTypeType.Float)]
        public double PromiseAvg { get; set; }
        [Column(Name = "promise_total", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PromiseTotal { get; set; }
        [Column(Name = "promised", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Promised { get; set; }
        [Column(Name = "succeeded", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Succeeded { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_exec_requests")]
    public sealed partial class DmExecRequests {

        #region Public Members
        [Column(Name = "ansi_defaults", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool AnsiDefaults { get; set; }
        [Column(Name = "ansi_null_dflt_on", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool AnsiNullDfltOn { get; set; }
        [Column(Name = "ansi_nulls", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool AnsiNulls { get; set; }
        [Column(Name = "ansi_padding", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool AnsiPadding { get; set; }
        [Column(Name = "ansi_warnings", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool AnsiWarnings { get; set; }
        [Column(Name = "arithabort", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Arithabort { get; set; }
        [Column(Name = "blocking_session_id"), SqlType(SqlTypeType.SmallInt)]
        public short? BlockingSessionId { get; set; }
        [Column(Name = "command", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 32)]
        public string Command { get; set; }
        [Column(Name = "concat_null_yields_null", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool ConcatNullYieldsNull { get; set; }
        [Column(Name = "connection_id"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? ConnectionId { get; set; }
        [Column(Name = "context_info"), SqlType(SqlTypeType.VarBinary, Length = 128)]
        public Binary ContextInfo { get; set; }
        [Column(Name = "cpu_time", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CpuTime { get; set; }
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short DatabaseId { get; set; }
        [Column(Name = "date_first", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short DateFirst { get; set; }
        [Column(Name = "date_format"), SqlType(SqlTypeType.NVarChar, Length = 6)]
        public string DateFormat { get; set; }
        [Column(Name = "deadlock_priority", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DeadlockPriority { get; set; }
        [Column(Name = "estimated_completion_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long EstimatedCompletionTime { get; set; }
        [Column(Name = "executing_managed_code", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool ExecutingManagedCode { get; set; }
        [Column(Name = "granted_query_memory", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int GrantedQueryMemory { get; set; }
        [Column(Name = "language"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Language { get; set; }
        [Column(Name = "last_wait_type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string LastWaitType { get; set; }
        [Column(Name = "lock_timeout", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int LockTimeout { get; set; }
        [Column(Name = "logical_reads", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LogicalReads { get; set; }
        [Column(Name = "nest_level", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int NestLevel { get; set; }
        [Column(Name = "open_resultset_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int OpenResultsetCount { get; set; }
        [Column(Name = "open_transaction_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int OpenTransactionCount { get; set; }
        [Column(Name = "percent_complete", CanBeNull = false), SqlType(SqlTypeType.Real)]
        public float PercentComplete { get; set; }
        [Column(Name = "plan_handle"), SqlType(SqlTypeType.VarBinary, Length = 64)]
        public Binary PlanHandle { get; set; }
        [Column(Name = "prev_error", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PrevError { get; set; }
        [Column(Name = "quoted_identifier", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool QuotedIdentifier { get; set; }
        [Column(Name = "reads", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Reads { get; set; }
        [Column(Name = "request_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RequestId { get; set; }
        [Column(Name = "row_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RowCount { get; set; }
        [Column(Name = "scheduler_id"), SqlType(SqlTypeType.Int)]
        public int? SchedulerId { get; set; }
        [Column(Name = "session_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short SessionId { get; set; }
        [Column(Name = "sql_handle"), SqlType(SqlTypeType.VarBinary, Length = 64)]
        public Binary SqlHandle { get; set; }
        [Column(Name = "start_time", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime StartTime { get; set; }
        [Column(Name = "statement_end_offset"), SqlType(SqlTypeType.Int)]
        public int? StatementEndOffset { get; set; }
        [Column(Name = "statement_start_offset"), SqlType(SqlTypeType.Int)]
        public int? StatementStartOffset { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 60)]
        public string Status { get; set; }
        [Column(Name = "task_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary TaskAddress { get; set; }
        [Column(Name = "text_size", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int TextSize { get; set; }
        [Column(Name = "total_elapsed_time", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int TotalElapsedTime { get; set; }
        [Column(Name = "transaction_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TransactionId { get; set; }
        [Column(Name = "transaction_isolation_level", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short TransactionIsolationLevel { get; set; }
        [Column(Name = "user_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int UserId { get; set; }
        [Column(Name = "wait_resource", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string WaitResource { get; set; }
        [Column(Name = "wait_time", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int WaitTime { get; set; }
        [Column(Name = "wait_type"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string WaitType { get; set; }
        [Column(Name = "writes", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Writes { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_exec_sessions")]
    public sealed partial class DmExecSessions {

        #region Public Members
        [Column(Name = "ansi_defaults", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool AnsiDefaults { get; set; }
        [Column(Name = "ansi_null_dflt_on", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool AnsiNullDfltOn { get; set; }
        [Column(Name = "ansi_nulls", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool AnsiNulls { get; set; }
        [Column(Name = "ansi_padding", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool AnsiPadding { get; set; }
        [Column(Name = "ansi_warnings", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool AnsiWarnings { get; set; }
        [Column(Name = "arithabort", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Arithabort { get; set; }
        [Column(Name = "client_interface_name"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string ClientInterfaceName { get; set; }
        [Column(Name = "client_version"), SqlType(SqlTypeType.Int)]
        public int? ClientVersion { get; set; }
        [Column(Name = "concat_null_yields_null", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool ConcatNullYieldsNull { get; set; }
        [Column(Name = "context_info"), SqlType(SqlTypeType.VarBinary, Length = 128)]
        public Binary ContextInfo { get; set; }
        [Column(Name = "cpu_time", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CpuTime { get; set; }
        [Column(Name = "date_first", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short DateFirst { get; set; }
        [Column(Name = "date_format"), SqlType(SqlTypeType.NVarChar, Length = 6)]
        public string DateFormat { get; set; }
        [Column(Name = "deadlock_priority", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DeadlockPriority { get; set; }
        [Column(Name = "endpoint_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EndpointId { get; set; }
        [Column(Name = "host_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string HostName { get; set; }
        [Column(Name = "host_process_id"), SqlType(SqlTypeType.Int)]
        public int? HostProcessId { get; set; }
        [Column(Name = "is_user_process", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsUserProcess { get; set; }
        [Column(Name = "language"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Language { get; set; }
        [Column(Name = "last_request_end_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastRequestEndTime { get; set; }
        [Column(Name = "last_request_start_time", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime LastRequestStartTime { get; set; }
        [Column(Name = "last_successful_logon"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastSuccessfulLogon { get; set; }
        [Column(Name = "last_unsuccessful_logon"), SqlType(SqlTypeType.DateTime)]
        public DateTime? LastUnsuccessfulLogon { get; set; }
        [Column(Name = "lock_timeout", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int LockTimeout { get; set; }
        [Column(Name = "logical_reads", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LogicalReads { get; set; }
        [Column(Name = "login_name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string LoginName { get; set; }
        [Column(Name = "login_time", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime LoginTime { get; set; }
        [Column(Name = "memory_usage", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MemoryUsage { get; set; }
        [Column(Name = "nt_domain"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string NtDomain { get; set; }
        [Column(Name = "nt_user_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string NtUserName { get; set; }
        [Column(Name = "original_login_name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string OriginalLoginName { get; set; }
        [Column(Name = "original_security_id", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary OriginalSecurityId { get; set; }
        [Column(Name = "prev_error", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PrevError { get; set; }
        [Column(Name = "program_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string ProgramName { get; set; }
        [Column(Name = "quoted_identifier", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool QuotedIdentifier { get; set; }
        [Column(Name = "reads", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Reads { get; set; }
        [Column(Name = "row_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RowCount { get; set; }
        [Column(Name = "security_id", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary SecurityId { get; set; }
        [Column(Name = "session_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short SessionId { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 60)]
        public string Status { get; set; }
        [Column(Name = "text_size", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int TextSize { get; set; }
        [Column(Name = "total_elapsed_time", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int TotalElapsedTime { get; set; }
        [Column(Name = "total_scheduled_time", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int TotalScheduledTime { get; set; }
        [Column(Name = "transaction_isolation_level", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short TransactionIsolationLevel { get; set; }
        [Column(Name = "unsuccessful_logons"), SqlType(SqlTypeType.BigInt)]
        public long? UnsuccessfulLogons { get; set; }
        [Column(Name = "writes", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Writes { get; set; }
        #endregion
    }
    #endregion

    #region FullTextSearch
    [Table(Name = "sys.dm_fts_active_catalogs")]
    public sealed partial class DmFtsActiveCatalogs {

        #region Public Members
        [Column(Name = "active_fts_index_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ActiveFtsIndexCount { get; set; }
        [Column(Name = "auto_population_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int AutoPopulationCount { get; set; }
        [Column(Name = "catalog_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CatalogId { get; set; }
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseId { get; set; }
        [Column(Name = "full_incremental_population_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FullIncrementalPopulationCount { get; set; }
        [Column(Name = "is_paused", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsPaused { get; set; }
        [Column(Name = "manual_population_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ManualPopulationCount { get; set; }
        [Column(Name = "memory_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryAddress { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Name { get; set; }
        [Column(Name = "previous_status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PreviousStatus { get; set; }
        [Column(Name = "previous_status_description"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string PreviousStatusDescription { get; set; }
        [Column(Name = "row_count_in_thousands", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RowCountInThousands { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "status_description"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StatusDescription { get; set; }
        [Column(Name = "worker_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int WorkerCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_fts_index_population")]
    public sealed partial class DmFtsIndexPopulation {

        #region Public Members
        [Column(Name = "catalog_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CatalogId { get; set; }
        [Column(Name = "completed_range_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CompletedRangeCount { get; set; }
        [Column(Name = "completion_type", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CompletionType { get; set; }
        [Column(Name = "completion_type_description"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string CompletionTypeDescription { get; set; }
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseId { get; set; }
        [Column(Name = "incremental_timestamp"), SqlType(SqlTypeType.TimeStamp)]
        public DateTime? IncrementalTimestamp { get; set; }
        [Column(Name = "is_clustered_index_scan", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsClusteredIndexScan { get; set; }
        [Column(Name = "memory_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryAddress { get; set; }
        [Column(Name = "outstanding_batch_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int OutstandingBatchCount { get; set; }
        [Column(Name = "population_type", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PopulationType { get; set; }
        [Column(Name = "population_type_description"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string PopulationTypeDescription { get; set; }
        [Column(Name = "queued_population_type", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int QueuedPopulationType { get; set; }
        [Column(Name = "queued_population_type_description"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string QueuedPopulationTypeDescription { get; set; }
        [Column(Name = "range_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RangeCount { get; set; }
        [Column(Name = "start_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? StartTime { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "status_description"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string StatusDescription { get; set; }
        [Column(Name = "table_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int TableId { get; set; }
        [Column(Name = "worker_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int WorkerCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_fts_memory_buffers")]
    public sealed partial class DmFtsMemoryBuffers {

        #region Public Members
        [Column(Name = "bytes_used", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BytesUsed { get; set; }
        [Column(Name = "is_free", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsFree { get; set; }
        [Column(Name = "memory_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryAddress { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Name { get; set; }
        [Column(Name = "percent_used", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PercentUsed { get; set; }
        [Column(Name = "pool_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PoolId { get; set; }
        [Column(Name = "row_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RowCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_fts_memory_pools")]
    public sealed partial class DmFtsMemoryPools {

        #region Public Members
        [Column(Name = "buffer_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BufferCount { get; set; }
        [Column(Name = "buffer_size", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BufferSize { get; set; }
        [Column(Name = "max_buffer_limit", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MaxBufferLimit { get; set; }
        [Column(Name = "min_buffer_limit", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MinBufferLimit { get; set; }
        [Column(Name = "pool_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PoolId { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_fts_population_ranges")]
    public sealed partial class DmFtsPopulationRanges {

        #region Public Members
        [Column(Name = "error_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ErrorCount { get; set; }
        [Column(Name = "is_retry", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsRetry { get; set; }
        [Column(Name = "memory_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryAddress { get; set; }
        [Column(Name = "parent_memory_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ParentMemoryAddress { get; set; }
        [Column(Name = "processed_row_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ProcessedRowCount { get; set; }
        [Column(Name = "session_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short SessionId { get; set; }
        #endregion
    }
    #endregion

    #region IO
    [Table(Name = "sys.dm_io_backup_tapes")]
    public sealed partial class DmIoBackupTapes {

        #region Public Members
        [Column(Name = "command"), SqlType(SqlTypeType.Int)]
        public int? Command { get; set; }
        [Column(Name = "command_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string CommandDesc { get; set; }
        [Column(Name = "database_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string DatabaseName { get; set; }
        [Column(Name = "logical_device_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string LogicalDeviceName { get; set; }
        [Column(Name = "media_family_id"), SqlType(SqlTypeType.Int)]
        public int? MediaFamilyId { get; set; }
        [Column(Name = "media_sequence_number"), SqlType(SqlTypeType.Int)]
        public int? MediaSequenceNumber { get; set; }
        [Column(Name = "media_set_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? MediaSetGuid { get; set; }
        [Column(Name = "media_set_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string MediaSetName { get; set; }
        [Column(Name = "mount_expiration_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? MountExpirationTime { get; set; }
        [Column(Name = "mount_request_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? MountRequestTime { get; set; }
        [Column(Name = "mount_request_type"), SqlType(SqlTypeType.Int)]
        public int? MountRequestType { get; set; }
        [Column(Name = "mount_request_type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string MountRequestTypeDesc { get; set; }
        [Column(Name = "physical_device_name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string PhysicalDeviceName { get; set; }
        [Column(Name = "spid"), SqlType(SqlTypeType.Int)]
        public int? Spid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "status_desc", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string StatusDesc { get; set; }
        [Column(Name = "tape_operation"), SqlType(SqlTypeType.Int)]
        public int? TapeOperation { get; set; }
        [Column(Name = "tape_operation_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TapeOperationDesc { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_io_cluster_shared_drives")]
    public sealed partial class DmIoClusterSharedDrives {

        #region Public Members
        [Column(Name = "DriveName"), SqlType(SqlTypeType.NChar, Length = 2)]
        public string DriveName { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_io_pending_io_requests")]
    public sealed partial class DmIoPendingIoRequests {

        #region Public Members
        [Column(Name = "io_completion_request_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary IoCompletionRequestAddress { get; set; }
        [Column(Name = "io_completion_routine_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary IoCompletionRoutineAddress { get; set; }
        [Column(Name = "io_handle"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary IoHandle { get; set; }
        [Column(Name = "io_offset", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long IoOffset { get; set; }
        [Column(Name = "io_pending", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IoPending { get; set; }
        [Column(Name = "io_pending_ms_ticks", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long IoPendingMsTicks { get; set; }
        [Column(Name = "io_type", CanBeNull = false), SqlType(SqlTypeType.VarChar, Length = 7)]
        public string IoType { get; set; }
        [Column(Name = "io_user_data_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary IoUserDataAddress { get; set; }
        [Column(Name = "scheduler_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary SchedulerAddress { get; set; }
        #endregion
    }
    #endregion

    #region SqlServerOperatingSystem
    [Table(Name = "sys.dm_os_buffer_descriptors")]
    public sealed partial class DmOsBufferDescriptors {

        #region Public Members
        [Column(Name = "allocation_unit_id"), SqlType(SqlTypeType.BigInt)]
        public long? AllocationUnitId { get; set; }
        [Column(Name = "database_id"), SqlType(SqlTypeType.Int)]
        public int? DatabaseId { get; set; }
        [Column(Name = "file_id"), SqlType(SqlTypeType.Int)]
        public int? FileId { get; set; }
        [Column(Name = "free_space_in_bytes"), SqlType(SqlTypeType.Int)]
        public int? FreeSpaceInBytes { get; set; }
        [Column(Name = "is_modified"), SqlType(SqlTypeType.Bit)]
        public bool? IsModified { get; set; }
        [Column(Name = "page_id"), SqlType(SqlTypeType.Int)]
        public int? PageId { get; set; }
        [Column(Name = "page_level"), SqlType(SqlTypeType.Int)]
        public int? PageLevel { get; set; }
        [Column(Name = "page_type"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string PageType { get; set; }
        [Column(Name = "row_count"), SqlType(SqlTypeType.Int)]
        public int? RowCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_child_instances")]
    public sealed partial class DmOsChildInstances {

        #region Public Members
        [Column(Name = "heart_beat"), SqlType(SqlTypeType.NVarChar, Length = 10)]
        public string HeartBeat { get; set; }
        [Column(Name = "instance_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string InstanceName { get; set; }
        [Column(Name = "instance_pipe_name"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string InstancePipeName { get; set; }
        [Column(Name = "OS_process_creation_date"), SqlType(SqlTypeType.DateTime)]
        public DateTime? OSProcessCreationDate { get; set; }
        [Column(Name = "OS_process_id"), SqlType(SqlTypeType.Int)]
        public int? OSProcessId { get; set; }
        [Column(Name = "owning_principal_name"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string OwningPrincipalName { get; set; }
        [Column(Name = "owning_principal_sid"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string OwningPrincipalSid { get; set; }
        [Column(Name = "owning_principal_sid_binary"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary OwningPrincipalSidBinary { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_cluster_nodes")]
    public sealed partial class DmOsClusterNodes {

        #region Public Members
        [Column(Name = "NodeName"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string NodeName { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_hosts")]
    public sealed partial class DmOsHosts {

        #region Public Members
        [Column(Name = "active_ios_count"), SqlType(SqlTypeType.Int)]
        public int? ActiveIosCount { get; set; }
        [Column(Name = "active_tasks_count"), SqlType(SqlTypeType.Int)]
        public int? ActiveTasksCount { get; set; }
        [Column(Name = "completed_ios_count"), SqlType(SqlTypeType.Int)]
        public int? CompletedIosCount { get; set; }
        [Column(Name = "completed_ios_in_bytes"), SqlType(SqlTypeType.BigInt)]
        public long? CompletedIosInBytes { get; set; }
        [Column(Name = "default_memory_clerk_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary DefaultMemoryClerkAddress { get; set; }
        [Column(Name = "enqueued_tasks_count"), SqlType(SqlTypeType.Int)]
        public int? EnqueuedTasksCount { get; set; }
        [Column(Name = "host_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary HostAddress { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string Name { get; set; }
        [Column(Name = "type"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_latch_stats")]
    public sealed partial class DmOsLatchStats {

        #region Public Members
        [Column(Name = "latch_class", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string LatchClass { get; set; }
        [Column(Name = "max_wait_time_ms"), SqlType(SqlTypeType.BigInt)]
        public long? MaxWaitTimeMs { get; set; }
        [Column(Name = "wait_time_ms"), SqlType(SqlTypeType.BigInt)]
        public long? WaitTimeMs { get; set; }
        [Column(Name = "waiting_requests_count"), SqlType(SqlTypeType.BigInt)]
        public long? WaitingRequestsCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_loaded_modules")]
    public sealed partial class DmOsLoadedModules {

        #region Public Members
        [Column(Name = "base_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary BaseAddress { get; set; }
        [Column(Name = "company"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Company { get; set; }
        [Column(Name = "debug"), SqlType(SqlTypeType.Bit)]
        public bool? Debug { get; set; }
        [Column(Name = "description"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Description { get; set; }
        [Column(Name = "file_version"), SqlType(SqlTypeType.VarChar, Length = 23)]
        public string FileVersion { get; set; }
        [Column(Name = "language"), SqlType(SqlTypeType.Int)]
        public int? Language { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Name { get; set; }
        [Column(Name = "patched"), SqlType(SqlTypeType.Bit)]
        public bool? Patched { get; set; }
        [Column(Name = "prerelease"), SqlType(SqlTypeType.Bit)]
        public bool? Prerelease { get; set; }
        [Column(Name = "private_build"), SqlType(SqlTypeType.Bit)]
        public bool? PrivateBuild { get; set; }
        [Column(Name = "product_version"), SqlType(SqlTypeType.VarChar, Length = 23)]
        public string ProductVersion { get; set; }
        [Column(Name = "special_build"), SqlType(SqlTypeType.Bit)]
        public bool? SpecialBuild { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_memory_allocations")]
    public sealed partial class DmOsMemoryAllocations {

        #region Public Members
        [Column(Name = "allocator_stack_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary AllocatorStackAddress { get; set; }
        [Column(Name = "creation_time", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime CreationTime { get; set; }
        [Column(Name = "line_num", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int LineNum { get; set; }
        [Column(Name = "memory_allocation_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryAllocationAddress { get; set; }
        [Column(Name = "memory_node_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MemoryNodeId { get; set; }
        [Column(Name = "memory_object_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryObjectAddress { get; set; }
        [Column(Name = "sequence_num", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SequenceNum { get; set; }
        [Column(Name = "size_in_bytes", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SizeInBytes { get; set; }
        [Column(Name = "source_file"), SqlType(SqlTypeType.VarChar, Length = 256)]
        public string SourceFile { get; set; }
        [Column(Name = "tag", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Tag { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_memory_cache_clock_hands")]
    public sealed partial class DmOsMemoryCacheClockHands {

        #region Public Members
        [Column(Name = "cache_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary CacheAddress { get; set; }
        [Column(Name = "clock_hand", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ClockHand { get; set; }
        [Column(Name = "clock_status", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ClockStatus { get; set; }
        [Column(Name = "last_round_start_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LastRoundStartTime { get; set; }
        [Column(Name = "last_tick_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LastTickTime { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Name { get; set; }
        [Column(Name = "removed_all_rounds_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RemovedAllRoundsCount { get; set; }
        [Column(Name = "removed_last_round_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RemovedLastRoundCount { get; set; }
        [Column(Name = "round_start_time", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RoundStartTime { get; set; }
        [Column(Name = "rounds_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RoundsCount { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string Type { get; set; }
        [Column(Name = "updated_last_round_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long UpdatedLastRoundCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_memory_cache_counters")]
    public sealed partial class DmOsMemoryCacheCounters {

        #region Public Members
        [Column(Name = "cache_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary CacheAddress { get; set; }
        [Column(Name = "entries_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long EntriesCount { get; set; }
        [Column(Name = "entries_in_use_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long EntriesInUseCount { get; set; }
        [Column(Name = "multi_pages_in_use_kb"), SqlType(SqlTypeType.BigInt)]
        public long? MultiPagesInUseKb { get; set; }
        [Column(Name = "multi_pages_kb", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MultiPagesKb { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Name { get; set; }
        [Column(Name = "single_pages_in_use_kb"), SqlType(SqlTypeType.BigInt)]
        public long? SinglePagesInUseKb { get; set; }
        [Column(Name = "single_pages_kb", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SinglePagesKb { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_memory_cache_entries")]
    public sealed partial class DmOsMemoryCacheEntries {

        #region Public Members
        [Column(Name = "cache_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary CacheAddress { get; set; }
        [Column(Name = "context_switches_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ContextSwitchesCount { get; set; }
        [Column(Name = "current_cost", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CurrentCost { get; set; }
        [Column(Name = "disk_ios_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DiskIosCount { get; set; }
        [Column(Name = "entry_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary EntryAddress { get; set; }
        [Column(Name = "entry_data"), SqlType(SqlTypeType.NVarChar, Length = 4096)]
        public string EntryData { get; set; }
        [Column(Name = "entry_data_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary EntryDataAddress { get; set; }
        [Column(Name = "in_use_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int InUseCount { get; set; }
        [Column(Name = "is_dirty", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDirty { get; set; }
        [Column(Name = "memory_object_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryObjectAddress { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Name { get; set; }
        [Column(Name = "original_cost", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int OriginalCost { get; set; }
        [Column(Name = "pages_allocated_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PagesAllocatedCount { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_memory_cache_hash_tables")]
    public sealed partial class DmOsMemoryCacheHashTables {

        #region Public Members
        [Column(Name = "buckets_avg_length", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BucketsAvgLength { get; set; }
        [Column(Name = "buckets_avg_scan_hit_length", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BucketsAvgScanHitLength { get; set; }
        [Column(Name = "buckets_avg_scan_miss_length", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BucketsAvgScanMissLength { get; set; }
        [Column(Name = "buckets_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BucketsCount { get; set; }
        [Column(Name = "buckets_in_use_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BucketsInUseCount { get; set; }
        [Column(Name = "buckets_max_length", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BucketsMaxLength { get; set; }
        [Column(Name = "buckets_max_length_ever", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BucketsMaxLengthEver { get; set; }
        [Column(Name = "buckets_min_length", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BucketsMinLength { get; set; }
        [Column(Name = "cache_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary CacheAddress { get; set; }
        [Column(Name = "hits_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long HitsCount { get; set; }
        [Column(Name = "misses_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MissesCount { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Name { get; set; }
        [Column(Name = "table_level", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int TableLevel { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_memory_clerks")]
    public sealed partial class DmOsMemoryClerks {

        #region Public Members
        [Column(Name = "awe_allocated_kb", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long AweAllocatedKb { get; set; }
        [Column(Name = "host_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary HostAddress { get; set; }
        [Column(Name = "memory_clerk_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryClerkAddress { get; set; }
        [Column(Name = "memory_node_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MemoryNodeId { get; set; }
        [Column(Name = "multi_pages_kb", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MultiPagesKb { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Name { get; set; }
        [Column(Name = "page_allocator_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary PageAllocatorAddress { get; set; }
        [Column(Name = "page_size_bytes", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PageSizeBytes { get; set; }
        [Column(Name = "shared_memory_committed_kb", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SharedMemoryCommittedKb { get; set; }
        [Column(Name = "shared_memory_reserved_kb", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SharedMemoryReservedKb { get; set; }
        [Column(Name = "single_pages_kb", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SinglePagesKb { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string Type { get; set; }
        [Column(Name = "virtual_memory_committed_kb", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long VirtualMemoryCommittedKb { get; set; }
        [Column(Name = "virtual_memory_reserved_kb", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long VirtualMemoryReservedKb { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_memory_objects")]
    public sealed partial class DmOsMemoryObjects {

        #region Public Members
        [Column(Name = "bytes_used"), SqlType(SqlTypeType.BigInt)]
        public long? BytesUsed { get; set; }
        [Column(Name = "creation_options"), SqlType(SqlTypeType.Int)]
        public int? CreationOptions { get; set; }
        [Column(Name = "creation_stack_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary CreationStackAddress { get; set; }
        [Column(Name = "creation_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? CreationTime { get; set; }
        [Column(Name = "max_pages_allocated_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MaxPagesAllocatedCount { get; set; }
        [Column(Name = "memory_node_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MemoryNodeId { get; set; }
        [Column(Name = "memory_object_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryObjectAddress { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.VarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "page_allocator_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary PageAllocatorAddress { get; set; }
        [Column(Name = "page_size_in_bytes", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PageSizeInBytes { get; set; }
        [Column(Name = "pages_allocated_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PagesAllocatedCount { get; set; }
        [Column(Name = "parent_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ParentAddress { get; set; }
        [Column(Name = "sequence_num"), SqlType(SqlTypeType.Int)]
        public int? SequenceNum { get; set; }
        [Column(Name = "type"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_memory_pools")]
    public sealed partial class DmOsMemoryPools {

        #region Public Members
        [Column(Name = "free_entries_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long FreeEntriesCount { get; set; }
        [Column(Name = "max_free_entries_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MaxFreeEntriesCount { get; set; }
        [Column(Name = "memory_pool_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryPoolAddress { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Name { get; set; }
        [Column(Name = "pool_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PoolId { get; set; }
        [Column(Name = "removed_in_all_rounds_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RemovedInAllRoundsCount { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_performance_counters")]
    public sealed partial class DmOsPerformanceCounters {

        #region Public Members
        [Column(Name = "cntr_type", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CntrType { get; set; }
        [Column(Name = "cntr_value", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long CntrValue { get; set; }
        [Column(Name = "counter_name", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 256)]
        public string CounterName { get; set; }
        [Column(Name = "instance_name"), SqlType(SqlTypeType.NChar, Length = 256)]
        public string InstanceName { get; set; }
        [Column(Name = "object_name", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 256)]
        public string ObjectName { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_ring_buffers")]
    public sealed partial class DmOsRingBuffers {

        #region Public Members
        [Column(Name = "record"), SqlType(SqlTypeType.NVarChar, Length = 4096)]
        public string Record { get; set; }
        [Column(Name = "ring_buffer_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary RingBufferAddress { get; set; }
        [Column(Name = "ring_buffer_type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string RingBufferType { get; set; }
        [Column(Name = "timestamp", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Timestamp { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_schedulers")]
    public sealed partial class DmOsSchedulers {

        #region Public Members
        [Column(Name = "active_worker_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ActiveWorkerAddress { get; set; }
        [Column(Name = "active_workers_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ActiveWorkersCount { get; set; }
        [Column(Name = "context_switches_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ContextSwitchesCount { get; set; }
        [Column(Name = "cpu_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short CpuId { get; set; }
        [Column(Name = "current_tasks_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CurrentTasksCount { get; set; }
        [Column(Name = "current_workers_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CurrentWorkersCount { get; set; }
        [Column(Name = "failed_to_create_worker"), SqlType(SqlTypeType.Bit)]
        public bool? FailedToCreateWorker { get; set; }
        [Column(Name = "idle_switches_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IdleSwitchesCount { get; set; }
        [Column(Name = "is_idle", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsIdle { get; set; }
        [Column(Name = "is_online", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsOnline { get; set; }
        [Column(Name = "last_timer_activity", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LastTimerActivity { get; set; }
        [Column(Name = "load_factor", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int LoadFactor { get; set; }
        [Column(Name = "memory_object_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryObjectAddress { get; set; }
        [Column(Name = "parent_node_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParentNodeId { get; set; }
        [Column(Name = "pending_disk_io_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PendingDiskIoCount { get; set; }
        [Column(Name = "preemptive_switches_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PreemptiveSwitchesCount { get; set; }
        [Column(Name = "runnable_tasks_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RunnableTasksCount { get; set; }
        [Column(Name = "scheduler_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary SchedulerAddress { get; set; }
        [Column(Name = "scheduler_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SchedulerId { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string Status { get; set; }
        [Column(Name = "task_memory_object_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary TaskMemoryObjectAddress { get; set; }
        [Column(Name = "work_queue_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long WorkQueueCount { get; set; }
        [Column(Name = "yield_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int YieldCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_stacks")]
    public sealed partial class DmOsStacks {

        #region Public Members
        [Column(Name = "frame_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary FrameAddress { get; set; }
        [Column(Name = "frame_index", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int FrameIndex { get; set; }
        [Column(Name = "stack_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary StackAddress { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_sublatches")]
    public sealed partial class DmOsSublatches {

        #region Public Members
        [Column(Name = "partition_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PartitionId { get; set; }
        [Column(Name = "sublatch_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary SublatchAddress { get; set; }
        [Column(Name = "superlatch_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary SuperlatchAddress { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_sys_info")]
    public sealed partial class DmOsSysInfo {

        #region Public Members
        [Column(Name = "bpool_commit_target", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BpoolCommitTarget { get; set; }
        [Column(Name = "bpool_committed", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BpoolCommitted { get; set; }
        [Column(Name = "bpool_visible", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BpoolVisible { get; set; }
        [Column(Name = "cpu_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CpuCount { get; set; }
        [Column(Name = "cpu_ticks", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long CpuTicks { get; set; }
        [Column(Name = "cpu_ticks_in_ms", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long CpuTicksInMs { get; set; }
        [Column(Name = "deadlock_monitor_serial_number", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DeadlockMonitorSerialNumber { get; set; }
        [Column(Name = "hyperthread_ratio", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int HyperthreadRatio { get; set; }
        [Column(Name = "max_workers_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MaxWorkersCount { get; set; }
        [Column(Name = "ms_ticks", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MsTicks { get; set; }
        [Column(Name = "os_error_mode", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int OsErrorMode { get; set; }
        [Column(Name = "os_priority_class"), SqlType(SqlTypeType.Int)]
        public int? OsPriorityClass { get; set; }
        [Column(Name = "os_quantum", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long OsQuantum { get; set; }
        [Column(Name = "physical_memory_in_bytes", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PhysicalMemoryInBytes { get; set; }
        [Column(Name = "scheduler_count", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short SchedulerCount { get; set; }
        [Column(Name = "scheduler_total_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SchedulerTotalCount { get; set; }
        [Column(Name = "stack_size_in_bytes", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int StackSizeInBytes { get; set; }
        [Column(Name = "virtual_memory_in_bytes", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long VirtualMemoryInBytes { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_tasks")]
    public sealed partial class DmOsTasks {

        #region Public Members
        [Column(Name = "context_switches_count"), SqlType(SqlTypeType.Int)]
        public int? ContextSwitchesCount { get; set; }
        [Column(Name = "exec_context_id"), SqlType(SqlTypeType.Int)]
        public int? ExecContextId { get; set; }
        [Column(Name = "host_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary HostAddress { get; set; }
        [Column(Name = "pending_io_byte_average", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PendingIoByteAverage { get; set; }
        [Column(Name = "pending_io_byte_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PendingIoByteCount { get; set; }
        [Column(Name = "pending_io_count"), SqlType(SqlTypeType.Int)]
        public int? PendingIoCount { get; set; }
        [Column(Name = "request_id"), SqlType(SqlTypeType.Int)]
        public int? RequestId { get; set; }
        [Column(Name = "scheduler_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SchedulerId { get; set; }
        [Column(Name = "session_id"), SqlType(SqlTypeType.SmallInt)]
        public short? SessionId { get; set; }
        [Column(Name = "task_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary TaskAddress { get; set; }
        [Column(Name = "task_state"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TaskState { get; set; }
        [Column(Name = "worker_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary WorkerAddress { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_threads")]
    public sealed partial class DmOsThreads {

        #region Public Members
        [Column(Name = "affinity", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Affinity { get; set; }
        [Column(Name = "creation_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? CreationTime { get; set; }
        [Column(Name = "event_handle"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary EventHandle { get; set; }
        [Column(Name = "fiber_context_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary FiberContextAddress { get; set; }
        [Column(Name = "fiber_data"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary FiberData { get; set; }
        [Column(Name = "instruction_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary InstructionAddress { get; set; }
        [Column(Name = "is_impersonating", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IsImpersonating { get; set; }
        [Column(Name = "is_waiting_on_loader_lock", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IsWaitingOnLoaderLock { get; set; }
        [Column(Name = "kernel_time"), SqlType(SqlTypeType.BigInt)]
        public long? KernelTime { get; set; }
        [Column(Name = "locale", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Locale { get; set; }
        [Column(Name = "os_thread_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int OsThreadId { get; set; }
        [Column(Name = "priority"), SqlType(SqlTypeType.Int)]
        public int? Priority { get; set; }
        [Column(Name = "scheduler_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary SchedulerAddress { get; set; }
        [Column(Name = "self_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary SelfAddress { get; set; }
        [Column(Name = "stack_base_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary StackBaseAddress { get; set; }
        [Column(Name = "stack_bytes_committed", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int StackBytesCommitted { get; set; }
        [Column(Name = "stack_bytes_used"), SqlType(SqlTypeType.Int)]
        public int? StackBytesUsed { get; set; }
        [Column(Name = "stack_end_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary StackEndAddress { get; set; }
        [Column(Name = "started_by_sqlservr", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool StartedBySqlservr { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "thread_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ThreadAddress { get; set; }
        [Column(Name = "thread_handle"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ThreadHandle { get; set; }
        [Column(Name = "token"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary Token { get; set; }
        [Column(Name = "usermode_time"), SqlType(SqlTypeType.BigInt)]
        public long? UsermodeTime { get; set; }
        [Column(Name = "worker_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary WorkerAddress { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_virtual_address_dump")]
    public sealed partial class DmOsVirtualAddressDump {

        #region Public Members
        [Column(Name = "region_allocation_base_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary RegionAllocationBaseAddress { get; set; }
        [Column(Name = "region_allocation_protection", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary RegionAllocationProtection { get; set; }
        [Column(Name = "region_base_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary RegionBaseAddress { get; set; }
        [Column(Name = "region_current_protection", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary RegionCurrentProtection { get; set; }
        [Column(Name = "region_size_in_bytes", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RegionSizeInBytes { get; set; }
        [Column(Name = "region_state", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary RegionState { get; set; }
        [Column(Name = "region_type", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary RegionType { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_wait_stats")]
    public sealed partial class DmOsWaitStats {

        #region Public Members
        [Column(Name = "max_wait_time_ms", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MaxWaitTimeMs { get; set; }
        [Column(Name = "signal_wait_time_ms", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SignalWaitTimeMs { get; set; }
        [Column(Name = "wait_time_ms", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long WaitTimeMs { get; set; }
        [Column(Name = "wait_type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string WaitType { get; set; }
        [Column(Name = "waiting_tasks_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long WaitingTasksCount { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_waiting_tasks")]
    public sealed partial class DmOsWaitingTasks {

        #region Public Members
        [Column(Name = "blocking_exec_context_id"), SqlType(SqlTypeType.Int)]
        public int? BlockingExecContextId { get; set; }
        [Column(Name = "blocking_session_id"), SqlType(SqlTypeType.SmallInt)]
        public short? BlockingSessionId { get; set; }
        [Column(Name = "blocking_task_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary BlockingTaskAddress { get; set; }
        [Column(Name = "exec_context_id"), SqlType(SqlTypeType.Int)]
        public int? ExecContextId { get; set; }
        [Column(Name = "resource_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ResourceAddress { get; set; }
        [Column(Name = "resource_description"), SqlType(SqlTypeType.NVarChar, Length = 2048)]
        public string ResourceDescription { get; set; }
        [Column(Name = "session_id"), SqlType(SqlTypeType.SmallInt)]
        public short? SessionId { get; set; }
        [Column(Name = "wait_duration_ms"), SqlType(SqlTypeType.BigInt)]
        public long? WaitDurationMs { get; set; }
        [Column(Name = "wait_type"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string WaitType { get; set; }
        [Column(Name = "waiting_task_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary WaitingTaskAddress { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_worker_local_storage")]
    public sealed partial class DmOsWorkerLocalStorage {

        #region Public Members
        [Column(Name = "comp_exec_ctxt_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary CompExecCtxtAddress { get; set; }
        [Column(Name = "diag_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary DiagAddress { get; set; }
        [Column(Name = "ec_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary EcAddress { get; set; }
        [Column(Name = "host_task_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary HostTaskAddress { get; set; }
        [Column(Name = "memory_object_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryObjectAddress { get; set; }
        [Column(Name = "msqlxact_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MsqlxactAddress { get; set; }
        [Column(Name = "queryscan_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary QueryscanAddress { get; set; }
        [Column(Name = "sni_error_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary SniErrorAddress { get; set; }
        [Column(Name = "sql_prof_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary SqlProfAddress { get; set; }
        [Column(Name = "stack_checker_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary StackCheckerAddress { get; set; }
        [Column(Name = "task_proxy_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary TaskProxyAddress { get; set; }
        [Column(Name = "worker_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary WorkerAddress { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_os_workers")]
    public sealed partial class DmOsWorkers {

        #region Public Members
        [Column(Name = "affinity", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Affinity { get; set; }
        [Column(Name = "boost_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int BoostCount { get; set; }
        [Column(Name = "context_switch_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ContextSwitchCount { get; set; }
        [Column(Name = "end_quantum", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long EndQuantum { get; set; }
        [Column(Name = "exception_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ExceptionAddress { get; set; }
        [Column(Name = "exception_num", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ExceptionNum { get; set; }
        [Column(Name = "exception_severity", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ExceptionSeverity { get; set; }
        [Column(Name = "fiber_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary FiberAddress { get; set; }
        [Column(Name = "is_fatal_exception"), SqlType(SqlTypeType.Bit)]
        public bool? IsFatalException { get; set; }
        [Column(Name = "is_fiber"), SqlType(SqlTypeType.Bit)]
        public bool? IsFiber { get; set; }
        [Column(Name = "is_in_cc_exception"), SqlType(SqlTypeType.Bit)]
        public bool? IsInCcException { get; set; }
        [Column(Name = "is_in_polling_io_completion_routine"), SqlType(SqlTypeType.Bit)]
        public bool? IsInPollingIoCompletionRoutine { get; set; }
        [Column(Name = "is_inside_catch"), SqlType(SqlTypeType.Bit)]
        public bool? IsInsideCatch { get; set; }
        [Column(Name = "is_preemptive"), SqlType(SqlTypeType.Bit)]
        public bool? IsPreemptive { get; set; }
        [Column(Name = "is_sick"), SqlType(SqlTypeType.Bit)]
        public bool? IsSick { get; set; }
        [Column(Name = "last_wait_type"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string LastWaitType { get; set; }
        [Column(Name = "locale", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Locale { get; set; }
        [Column(Name = "max_quantum", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long MaxQuantum { get; set; }
        [Column(Name = "memory_object_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary MemoryObjectAddress { get; set; }
        [Column(Name = "pending_io_byte_average", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PendingIoByteAverage { get; set; }
        [Column(Name = "pending_io_byte_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PendingIoByteCount { get; set; }
        [Column(Name = "pending_io_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PendingIoCount { get; set; }
        [Column(Name = "quantum_used", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long QuantumUsed { get; set; }
        [Column(Name = "return_code", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ReturnCode { get; set; }
        [Column(Name = "scheduler_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary SchedulerAddress { get; set; }
        [Column(Name = "signal_worker_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary SignalWorkerAddress { get; set; }
        [Column(Name = "start_quantum", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long StartQuantum { get; set; }
        [Column(Name = "state"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string State { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "task_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary TaskAddress { get; set; }
        [Column(Name = "task_bound_ms_ticks", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TaskBoundMsTicks { get; set; }
        [Column(Name = "tasks_processed_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int TasksProcessedCount { get; set; }
        [Column(Name = "thread_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ThreadAddress { get; set; }
        [Column(Name = "wait_resumed_ms_ticks", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long WaitResumedMsTicks { get; set; }
        [Column(Name = "wait_started_ms_ticks", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long WaitStartedMsTicks { get; set; }
        [Column(Name = "worker_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary WorkerAddress { get; set; }
        [Column(Name = "worker_created_ms_ticks", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long WorkerCreatedMsTicks { get; set; }
        #endregion
    }
    #endregion

    #region QueryNotifications
    [Table(Name = "sys.dm_qn_subscriptions")]
    public sealed partial class DmQnSubscriptions {

        #region Public Members
        [Column(Name = "created", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Created { get; set; }
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseId { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "sid", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "timeout", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Timeout { get; set; }
        #endregion
    }
    #endregion

    #region Replication
    [Table(Name = "sys.dm_repl_articles")]
    public sealed partial class DmReplArticles {

        #region Public Members
        [Column(Name = "artcache_article_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ArtcacheArticleAddress { get; set; }
        [Column(Name = "artcache_db_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ArtcacheDbAddress { get; set; }
        [Column(Name = "artcache_schema_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ArtcacheSchemaAddress { get; set; }
        [Column(Name = "artcache_table_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ArtcacheTableAddress { get; set; }
        [Column(Name = "artcmdtype"), SqlType(SqlTypeType.TinyInt)]
        public byte? Artcmdtype { get; set; }
        [Column(Name = "artfilter"), SqlType(SqlTypeType.BigInt)]
        public long? Artfilter { get; set; }
        [Column(Name = "artgendel2cmd"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Artgendel2cmd { get; set; }
        [Column(Name = "artgendelcmd"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Artgendelcmd { get; set; }
        [Column(Name = "artgenins2cmd"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Artgenins2cmd { get; set; }
        [Column(Name = "artgeninscmd"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Artgeninscmd { get; set; }
        [Column(Name = "artgenupdcmd"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Artgenupdcmd { get; set; }
        [Column(Name = "artid"), SqlType(SqlTypeType.BigInt)]
        public long? Artid { get; set; }
        [Column(Name = "artobjid"), SqlType(SqlTypeType.BigInt)]
        public long? Artobjid { get; set; }
        [Column(Name = "artpartialupdcmd"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Artpartialupdcmd { get; set; }
        [Column(Name = "artpubid"), SqlType(SqlTypeType.BigInt)]
        public long? Artpubid { get; set; }
        [Column(Name = "artstatus"), SqlType(SqlTypeType.TinyInt)]
        public byte? Artstatus { get; set; }
        [Column(Name = "arttype"), SqlType(SqlTypeType.TinyInt)]
        public byte? Arttype { get; set; }
        [Column(Name = "artupdtxtcmd"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Artupdtxtcmd { get; set; }
        [Column(Name = "cmdTypeDel"), SqlType(SqlTypeType.Int)]
        public int? CmdTypeDel { get; set; }
        [Column(Name = "cmdTypeIns"), SqlType(SqlTypeType.Int)]
        public int? CmdTypeIns { get; set; }
        [Column(Name = "cmdTypePartialUpd"), SqlType(SqlTypeType.Int)]
        public int? CmdTypePartialUpd { get; set; }
        [Column(Name = "cmdTypeUpd"), SqlType(SqlTypeType.Int)]
        public int? CmdTypeUpd { get; set; }
        [Column(Name = "fInReconcile"), SqlType(SqlTypeType.TinyInt)]
        public byte? FInReconcile { get; set; }
        [Column(Name = "fPubAllowUpdate"), SqlType(SqlTypeType.TinyInt)]
        public byte? FPubAllowUpdate { get; set; }
        [Column(Name = "intPublicationOptions"), SqlType(SqlTypeType.BigInt)]
        public long? IntPublicationOptions { get; set; }
        [Column(Name = "numcol"), SqlType(SqlTypeType.Int)]
        public int? Numcol { get; set; }
        [Column(Name = "wszArtdelcmd", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 510)]
        public string WszArtdelcmd { get; set; }
        [Column(Name = "wszArtdesttable"), SqlType(SqlTypeType.NVarChar, Length = 514)]
        public string WszArtdesttable { get; set; }
        [Column(Name = "wszArtdesttableowner"), SqlType(SqlTypeType.NVarChar, Length = 514)]
        public string WszArtdesttableowner { get; set; }
        [Column(Name = "wszArtinscmd", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 510)]
        public string WszArtinscmd { get; set; }
        [Column(Name = "wszArtpartialupdcmd", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 510)]
        public string WszArtpartialupdcmd { get; set; }
        [Column(Name = "wszArtupdcmd", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 510)]
        public string WszArtupdcmd { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_repl_schemas")]
    public sealed partial class DmReplSchemas {

        #region Public Members
        [Column(Name = "artcache_schema_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ArtcacheSchemaAddress { get; set; }
        [Column(Name = "ccTabname"), SqlType(SqlTypeType.SmallInt)]
        public short? CcTabname { get; set; }
        [Column(Name = "ccTabschema"), SqlType(SqlTypeType.SmallInt)]
        public short? CcTabschema { get; set; }
        [Column(Name = "idSch"), SqlType(SqlTypeType.BigInt)]
        public long? IdSch { get; set; }
        [Column(Name = "indexid"), SqlType(SqlTypeType.SmallInt)]
        public short? Indexid { get; set; }
        [Column(Name = "num_pk_cols"), SqlType(SqlTypeType.Int)]
        public int? NumPkCols { get; set; }
        [Column(Name = "pcitee"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary Pcitee { get; set; }
        [Column(Name = "re_awcName", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 510)]
        public string ReAwcName { get; set; }
        [Column(Name = "re_bitpos"), SqlType(SqlTypeType.TinyInt)]
        public byte? ReBitpos { get; set; }
        [Column(Name = "re_ccName"), SqlType(SqlTypeType.SmallInt)]
        public short? ReCcName { get; set; }
        [Column(Name = "re_colid"), SqlType(SqlTypeType.Int)]
        public int? ReColid { get; set; }
        [Column(Name = "re_collatid"), SqlType(SqlTypeType.BigInt)]
        public long? ReCollatid { get; set; }
        [Column(Name = "re_computed"), SqlType(SqlTypeType.SmallInt)]
        public short? ReComputed { get; set; }
        [Column(Name = "re_fAnsiTrim"), SqlType(SqlTypeType.TinyInt)]
        public byte? ReFAnsiTrim { get; set; }
        [Column(Name = "re_fNullable"), SqlType(SqlTypeType.TinyInt)]
        public byte? ReFNullable { get; set; }
        [Column(Name = "re_maxlen"), SqlType(SqlTypeType.SmallInt)]
        public short? ReMaxlen { get; set; }
        [Column(Name = "re_numcols"), SqlType(SqlTypeType.Int)]
        public int? ReNumcols { get; set; }
        [Column(Name = "re_numtextcols"), SqlType(SqlTypeType.Int)]
        public int? ReNumtextcols { get; set; }
        [Column(Name = "re_offset"), SqlType(SqlTypeType.SmallInt)]
        public short? ReOffset { get; set; }
        [Column(Name = "re_pk"), SqlType(SqlTypeType.TinyInt)]
        public byte? RePk { get; set; }
        [Column(Name = "re_prec"), SqlType(SqlTypeType.TinyInt)]
        public byte? RePrec { get; set; }
        [Column(Name = "re_scale"), SqlType(SqlTypeType.TinyInt)]
        public byte? ReScale { get; set; }
        [Column(Name = "re_schema_lsn_begin"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string ReSchemaLsnBegin { get; set; }
        [Column(Name = "re_schema_lsn_end"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string ReSchemaLsnEnd { get; set; }
        [Column(Name = "re_unique"), SqlType(SqlTypeType.TinyInt)]
        public byte? ReUnique { get; set; }
        [Column(Name = "re_xvtype"), SqlType(SqlTypeType.SmallInt)]
        public short? ReXvtype { get; set; }
        [Column(Name = "rowsetid_delete"), SqlType(SqlTypeType.BigInt)]
        public long? RowsetidDelete { get; set; }
        [Column(Name = "rowsetid_insert"), SqlType(SqlTypeType.BigInt)]
        public long? RowsetidInsert { get; set; }
        [Column(Name = "se_bitpos"), SqlType(SqlTypeType.TinyInt)]
        public byte? SeBitpos { get; set; }
        [Column(Name = "se_colid"), SqlType(SqlTypeType.Int)]
        public int? SeColid { get; set; }
        [Column(Name = "se_collatid"), SqlType(SqlTypeType.BigInt)]
        public long? SeCollatid { get; set; }
        [Column(Name = "se_computed"), SqlType(SqlTypeType.SmallInt)]
        public short? SeComputed { get; set; }
        [Column(Name = "se_fAnsiTrim"), SqlType(SqlTypeType.TinyInt)]
        public byte? SeFAnsiTrim { get; set; }
        [Column(Name = "se_fNullable"), SqlType(SqlTypeType.TinyInt)]
        public byte? SeFNullable { get; set; }
        [Column(Name = "se_maxlen"), SqlType(SqlTypeType.SmallInt)]
        public short? SeMaxlen { get; set; }
        [Column(Name = "se_nullBitInLeafRows"), SqlType(SqlTypeType.Int)]
        public int? SeNullBitInLeafRows { get; set; }
        [Column(Name = "se_numcols"), SqlType(SqlTypeType.Int)]
        public int? SeNumcols { get; set; }
        [Column(Name = "se_offset"), SqlType(SqlTypeType.SmallInt)]
        public short? SeOffset { get; set; }
        [Column(Name = "se_prec"), SqlType(SqlTypeType.TinyInt)]
        public byte? SePrec { get; set; }
        [Column(Name = "se_rowsetid"), SqlType(SqlTypeType.BigInt)]
        public long? SeRowsetid { get; set; }
        [Column(Name = "se_scale"), SqlType(SqlTypeType.TinyInt)]
        public byte? SeScale { get; set; }
        [Column(Name = "se_schema_lsn_begin"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string SeSchemaLsnBegin { get; set; }
        [Column(Name = "se_schema_lsn_end"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string SeSchemaLsnEnd { get; set; }
        [Column(Name = "se_xvtype"), SqlType(SqlTypeType.SmallInt)]
        public short? SeXvtype { get; set; }
        [Column(Name = "tabid"), SqlType(SqlTypeType.BigInt)]
        public long? Tabid { get; set; }
        [Column(Name = "tabname", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 510)]
        public string Tabname { get; set; }
        [Column(Name = "tabschema", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 510)]
        public string Tabschema { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_repl_tranhash")]
    public sealed partial class DmReplTranHash {

        #region Public Members
        [Column(Name = "buckets"), SqlType(SqlTypeType.BigInt)]
        public long? Buckets { get; set; }
        [Column(Name = "compensated_trans"), SqlType(SqlTypeType.BigInt)]
        public long? CompensatedTrans { get; set; }
        [Column(Name = "completed_trans"), SqlType(SqlTypeType.BigInt)]
        public long? CompletedTrans { get; set; }
        [Column(Name = "first_begin_lsn"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string FirstBeginLsn { get; set; }
        [Column(Name = "hashed_trans"), SqlType(SqlTypeType.BigInt)]
        public long? HashedTrans { get; set; }
        [Column(Name = "last_commit_lsn"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string LastCommitLsn { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_repl_traninfo")]
    public sealed partial class DmReplTranInfo {

        #region Public Members
        [Column(Name = "artcache_table_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary ArtcacheTableAddress { get; set; }
        [Column(Name = "begin_lsn"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string BeginLsn { get; set; }
        [Column(Name = "begin_update_lsn"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string BeginUpdateLsn { get; set; }
        [Column(Name = "cmds_in_tran"), SqlType(SqlTypeType.Int)]
        public int? CmdsInTran { get; set; }
        [Column(Name = "commit_lsn"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string CommitLsn { get; set; }
        [Column(Name = "comp_range_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary CompRangeAddress { get; set; }
        [Column(Name = "database"), SqlType(SqlTypeType.NVarChar, Length = 514)]
        public string Database { get; set; }
        [Column(Name = "db_len_in_bytes"), SqlType(SqlTypeType.SmallInt)]
        public short? DbLenInBytes { get; set; }
        [Column(Name = "db_ver"), SqlType(SqlTypeType.Int)]
        public int? DbVer { get; set; }
        [Column(Name = "dbid"), SqlType(SqlTypeType.SmallInt)]
        public short? Dbid { get; set; }
        [Column(Name = "delete_lsn"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string DeleteLsn { get; set; }
        [Column(Name = "fcompensated"), SqlType(SqlTypeType.TinyInt)]
        public byte? Fcompensated { get; set; }
        [Column(Name = "fcomplete"), SqlType(SqlTypeType.TinyInt)]
        public byte? Fcomplete { get; set; }
        [Column(Name = "fp2p_pub_exists"), SqlType(SqlTypeType.TinyInt)]
        public byte? Fp2pPubExists { get; set; }
        [Column(Name = "fprocessingtext"), SqlType(SqlTypeType.TinyInt)]
        public byte? Fprocessingtext { get; set; }
        [Column(Name = "fsinfo_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary FsinfoAddress { get; set; }
        [Column(Name = "is_boundedupdate_singleton"), SqlType(SqlTypeType.TinyInt)]
        public byte? IsBoundedupdateSingleton { get; set; }
        [Column(Name = "last_end_lsn"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string LastEndLsn { get; set; }
        [Column(Name = "max_cmds_in_tran"), SqlType(SqlTypeType.Int)]
        public int? MaxCmdsInTran { get; set; }
        [Column(Name = "orig_db"), SqlType(SqlTypeType.NVarChar, Length = 514)]
        public string OrigDb { get; set; }
        [Column(Name = "orig_db_len_in_bytes"), SqlType(SqlTypeType.SmallInt)]
        public short? OrigDbLenInBytes { get; set; }
        [Column(Name = "originator"), SqlType(SqlTypeType.NVarChar, Length = 514)]
        public string Originator { get; set; }
        [Column(Name = "originator_len_in_bytes"), SqlType(SqlTypeType.SmallInt)]
        public short? OriginatorLenInBytes { get; set; }
        [Column(Name = "rows"), SqlType(SqlTypeType.Int)]
        public int? Rows { get; set; }
        [Column(Name = "server"), SqlType(SqlTypeType.NVarChar, Length = 514)]
        public string Server { get; set; }
        [Column(Name = "server_len_in_bytes"), SqlType(SqlTypeType.SmallInt)]
        public short? ServerLenInBytes { get; set; }
        [Column(Name = "textinfo_address"), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary TextinfoAddress { get; set; }
        [Column(Name = "xdesid"), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string Xdesid { get; set; }
        #endregion
    }
    #endregion

    #region Transaction
    [Table(Name = "sys.dm_tran_active_snapshot_database_transactions")]
    public sealed partial class DmTranActiveSnapshotDatabaseTransactions {

        #region Public Members
        [Column(Name = "average_version_chain_traversed", CanBeNull = false), SqlType(SqlTypeType.Real)]
        public float AverageVersionChainTraversed { get; set; }
        [Column(Name = "commit_sequence_num"), SqlType(SqlTypeType.BigInt)]
        public long? CommitSequenceNum { get; set; }
        [Column(Name = "elapsed_time_seconds", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long ElapsedTimeSeconds { get; set; }
        [Column(Name = "first_snapshot_sequence_num"), SqlType(SqlTypeType.BigInt)]
        public long? FirstSnapshotSequenceNum { get; set; }
        [Column(Name = "is_snapshot", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IsSnapshot { get; set; }
        [Column(Name = "max_version_chain_traversed", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int MaxVersionChainTraversed { get; set; }
        [Column(Name = "session_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SessionId { get; set; }
        [Column(Name = "transaction_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TransactionId { get; set; }
        [Column(Name = "transaction_sequence_num", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TransactionSequenceNum { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_tran_active_transactions")]
    public sealed partial class DmTranActiveTransactions {

        #region Public Members
        [Column(Name = "dtc_isolation_level", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DtcIsolationLevel { get; set; }
        [Column(Name = "dtc_state", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DtcState { get; set; }
        [Column(Name = "dtc_status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DtcStatus { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string Name { get; set; }
        [Column(Name = "transaction_begin_time", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime TransactionBeginTime { get; set; }
        [Column(Name = "transaction_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TransactionId { get; set; }
        [Column(Name = "transaction_state", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int TransactionState { get; set; }
        [Column(Name = "transaction_status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int TransactionStatus { get; set; }
        [Column(Name = "transaction_status2", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int TransactionStatus2 { get; set; }
        [Column(Name = "transaction_type", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int TransactionType { get; set; }
        [Column(Name = "transaction_uow"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? TransactionUow { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_tran_current_snapshot")]
    public sealed partial class DmTranCurrentSnapshot {

        #region Public Members
        [Column(Name = "transaction_sequence_num", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TransactionSequenceNum { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_tran_current_transaction")]
    public sealed partial class DmTranCurrentTransaction {

        #region Public Members
        [Column(Name = "first_snapshot_sequence_num"), SqlType(SqlTypeType.BigInt)]
        public long? FirstSnapshotSequenceNum { get; set; }
        [Column(Name = "first_useful_sequence_num", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long FirstUsefulSequenceNum { get; set; }
        [Column(Name = "last_transaction_sequence_num", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long LastTransactionSequenceNum { get; set; }
        [Column(Name = "transaction_id"), SqlType(SqlTypeType.BigInt)]
        public long? TransactionId { get; set; }
        [Column(Name = "transaction_is_snapshot"), SqlType(SqlTypeType.Bit)]
        public bool? TransactionIsSnapshot { get; set; }
        [Column(Name = "transaction_sequence_num"), SqlType(SqlTypeType.BigInt)]
        public long? TransactionSequenceNum { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_tran_database_transactions")]
    public sealed partial class DmTranDatabaseTransactions {

        #region Public Members
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseId { get; set; }
        [Column(Name = "database_transaction_begin_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? DatabaseTransactionBeginLsn { get; set; }
        [Column(Name = "database_transaction_begin_time"), SqlType(SqlTypeType.DateTime)]
        public DateTime? DatabaseTransactionBeginTime { get; set; }
        [Column(Name = "database_transaction_commit_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? DatabaseTransactionCommitLsn { get; set; }
        [Column(Name = "database_transaction_last_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? DatabaseTransactionLastLsn { get; set; }
        [Column(Name = "database_transaction_last_rollback_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? DatabaseTransactionLastRollbackLsn { get; set; }
        [Column(Name = "database_transaction_log_bytes_reserved", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long DatabaseTransactionLogBytesReserved { get; set; }
        [Column(Name = "database_transaction_log_bytes_reserved_system", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseTransactionLogBytesReservedSystem { get; set; }
        [Column(Name = "database_transaction_log_bytes_used", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long DatabaseTransactionLogBytesUsed { get; set; }
        [Column(Name = "database_transaction_log_bytes_used_system", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseTransactionLogBytesUsedSystem { get; set; }
        [Column(Name = "database_transaction_log_record_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseTransactionLogRecordCount { get; set; }
        [Column(Name = "database_transaction_most_recent_savepoint_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? DatabaseTransactionMostRecentSavepointLsn { get; set; }
        [Column(Name = "database_transaction_next_undo_lsn"), SqlType(SqlTypeType.Numeric, Precision = 25, Scale = 0)]
        public decimal? DatabaseTransactionNextUndoLsn { get; set; }
        [Column(Name = "database_transaction_replicate_record_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseTransactionReplicateRecordCount { get; set; }
        [Column(Name = "database_transaction_state", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseTransactionState { get; set; }
        [Column(Name = "database_transaction_status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseTransactionStatus { get; set; }
        [Column(Name = "database_transaction_status2", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseTransactionStatus2 { get; set; }
        [Column(Name = "database_transaction_type", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseTransactionType { get; set; }
        [Column(Name = "transaction_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TransactionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_tran_locks")]
    public sealed partial class DmTranLocks {

        #region Public Members
        [Column(Name = "lock_owner_address", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 8)]
        public Binary LockOwnerAddress { get; set; }
        [Column(Name = "request_exec_context_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RequestExecContextId { get; set; }
        [Column(Name = "request_lifetime", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RequestLifetime { get; set; }
        [Column(Name = "request_mode", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string RequestMode { get; set; }
        [Column(Name = "request_owner_guid"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? RequestOwnerGuid { get; set; }
        [Column(Name = "request_owner_id"), SqlType(SqlTypeType.BigInt)]
        public long? RequestOwnerId { get; set; }
        [Column(Name = "request_owner_lockspace_id", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 64)]
        public string RequestOwnerLockspaceId { get; set; }
        [Column(Name = "request_owner_type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string RequestOwnerType { get; set; }
        [Column(Name = "request_reference_count", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short RequestReferenceCount { get; set; }
        [Column(Name = "request_request_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RequestRequestId { get; set; }
        [Column(Name = "request_session_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RequestSessionId { get; set; }
        [Column(Name = "request_status", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string RequestStatus { get; set; }
        [Column(Name = "request_type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string RequestType { get; set; }
        [Column(Name = "resource_associated_entity_id"), SqlType(SqlTypeType.BigInt)]
        public long? ResourceAssociatedEntityId { get; set; }
        [Column(Name = "resource_database_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ResourceDatabaseId { get; set; }
        [Column(Name = "resource_description", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string ResourceDescription { get; set; }
        [Column(Name = "resource_lock_partition"), SqlType(SqlTypeType.Int)]
        public int? ResourceLockPartition { get; set; }
        [Column(Name = "resource_subtype", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ResourceSubtype { get; set; }
        [Column(Name = "resource_type", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string ResourceType { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_tran_session_transactions")]
    public sealed partial class DmTranSessionTransactions {

        #region Public Members
        [Column(Name = "enlist_count", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int EnlistCount { get; set; }
        [Column(Name = "is_bound", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsBound { get; set; }
        [Column(Name = "is_enlisted", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsEnlisted { get; set; }
        [Column(Name = "is_local", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsLocal { get; set; }
        [Column(Name = "is_user_transaction", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsUserTransaction { get; set; }
        [Column(Name = "session_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SessionId { get; set; }
        [Column(Name = "transaction_descriptor", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary TransactionDescriptor { get; set; }
        [Column(Name = "transaction_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TransactionId { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_tran_top_version_generators")]
    public sealed partial class DmTranTopVersionGenerators {

        #region Public Members
        [Column(Name = "aggregated_record_length_in_bytes"), SqlType(SqlTypeType.Int)]
        public int? AggregatedRecordLengthInBytes { get; set; }
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseId { get; set; }
        [Column(Name = "rowset_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RowsetId { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_tran_transactions_snapshot")]
    public sealed partial class DmTranTransactionsSnapshot {

        #region Public Members
        [Column(Name = "snapshot_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int SnapshotId { get; set; }
        [Column(Name = "snapshot_sequence_num", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long SnapshotSequenceNum { get; set; }
        [Column(Name = "transaction_sequence_num", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TransactionSequenceNum { get; set; }
        #endregion
    }
    [Table(Name = "sys.dm_tran_version_store")]
    public sealed partial class DmTranVersionStore {

        #region Public Members
        [Column(Name = "database_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DatabaseId { get; set; }
        [Column(Name = "min_length_in_bytes", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MinLengthInBytes { get; set; }
        [Column(Name = "record_image_first_part"), SqlType(SqlTypeType.VarBinary, Length = 8000)]
        public Binary RecordImageFirstPart { get; set; }
        [Column(Name = "record_image_second_part"), SqlType(SqlTypeType.VarBinary, Length = 8000)]
        public Binary RecordImageSecondPart { get; set; }
        [Column(Name = "record_length_first_part_in_bytes", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short RecordLengthFirstPartInBytes { get; set; }
        [Column(Name = "record_length_second_part_in_bytes", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short RecordLengthSecondPartInBytes { get; set; }
        [Column(Name = "rowset_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long RowsetId { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Status { get; set; }
        [Column(Name = "transaction_sequence_num", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TransactionSequenceNum { get; set; }
        [Column(Name = "version_sequence_num", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long VersionSequenceNum { get; set; }
        #endregion
    }
    #endregion
    #endregion

    #region Misc
    [Table(Name = "sys.login_token")]
    public sealed partial class LoginToken {

        #region Public Members
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "type"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Type { get; set; }
        [Column(Name = "usage"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Usage { get; set; }
        #endregion
    }
    [Table(Name = "sys.user_token")]
    public sealed partial class UserToken {

        #region Public Members
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "principal_id"), SqlType(SqlTypeType.Int)]
        public int? PrincipalId { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "type"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Type { get; set; }
        [Column(Name = "usage"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Usage { get; set; }
        #endregion
    }
    #endregion

    #region SystemBaseTables
    [Table(Name = "sys.sysallocunits")]
    public sealed partial class SysAllocUnits {

        #region Public Members
        [Column(Name = "auid", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Auid { get; set; }
        [Column(Name = "fgid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Fgid { get; set; }
        [Column(Name = "ownerid", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Ownerid { get; set; }
        [Column(Name = "pcdata", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Pcdata { get; set; }
        [Column(Name = "pcreserved", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Pcreserved { get; set; }
        [Column(Name = "pcused", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Pcused { get; set; }
        [Column(Name = "pgfirst", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary Pgfirst { get; set; }
        [Column(Name = "pgfirstiam", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary Pgfirstiam { get; set; }
        [Column(Name = "pgroot", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary Pgroot { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysasymkeys")]
    public sealed partial class SysAsymKeys {

        #region Public Members
        [Column(Name = "algorithm", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Algorithm { get; set; }
        [Column(Name = "bitlength", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Bitlength { get; set; }
        [Column(Name = "encrtype", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Encrtype { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "modified", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modified { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "pkey"), SqlType(SqlTypeType.VarBinary, Length = 2000)]
        public Binary Pkey { get; set; }
        [Column(Name = "pukey", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = -1)]
        public Binary Pukey { get; set; }
        [Column(Name = "thumbprint", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 32)]
        public Binary Thumbprint { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysbinobjs")]
    public sealed partial class SysBinObjs {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "created", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Created { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "intprop", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Intprop { get; set; }
        [Column(Name = "modified", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modified { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "nsid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Nsid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.syscerts")]
    public sealed partial class SysCerts {

        #region Public Members
        [Column(Name = "cert", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = -1)]
        public Binary Cert { get; set; }
        [Column(Name = "encrtype", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Encrtype { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "issuer", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 884)]
        public Binary Issuer { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "pkey"), SqlType(SqlTypeType.VarBinary, Length = 2000)]
        public Binary Pkey { get; set; }
        [Column(Name = "snum", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 16)]
        public Binary Snum { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "thumbprint", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 32)]
        public Binary Thumbprint { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysclsobjs")]
    public sealed partial class SysClsObjs {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "created", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Created { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "intprop", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Intprop { get; set; }
        [Column(Name = "modified", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modified { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.syscolpars")]
    public sealed partial class SysColPars {

        #region Public Members
        [Column(Name = "chk", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Chk { get; set; }
        [Column(Name = "colid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Colid { get; set; }
        [Column(Name = "collationid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Collationid { get; set; }
        [Column(Name = "dflt", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Dflt { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "idtval"), SqlType(SqlTypeType.VarBinary, Length = 64)]
        public Binary Idtval { get; set; }
        [Column(Name = "length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Length { get; set; }
        [Column(Name = "maxinrow", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Maxinrow { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "number", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Number { get; set; }
        [Column(Name = "prec", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Prec { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "utype", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Utype { get; set; }
        [Column(Name = "xmlns", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Xmlns { get; set; }
        [Column(Name = "xtype", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Xtype { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysconvgroup")]
    public sealed partial class SysConvGroup {

        #region Public Members
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Id { get; set; }
        [Column(Name = "refcount", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Refcount { get; set; }
        [Column(Name = "service_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ServiceId { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysdbfiles")]
    public sealed partial class SysDbFiles {

        #region Public Members
        [Column(Name = "backuplsn"), SqlType(SqlTypeType.Binary)]
        public Binary Backuplsn { get; set; }
        [Column(Name = "createlsn"), SqlType(SqlTypeType.Binary)]
        public Binary Createlsn { get; set; }
        [Column(Name = "dbid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Dbid { get; set; }
        [Column(Name = "diffbaseguid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Diffbaseguid { get; set; }
        [Column(Name = "diffbaselsn"), SqlType(SqlTypeType.Binary)]
        public Binary Diffbaselsn { get; set; }
        [Column(Name = "diffbaseseclsn"), SqlType(SqlTypeType.Binary)]
        public Binary Diffbaseseclsn { get; set; }
        [Column(Name = "diffbasetime", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Diffbasetime { get; set; }
        [Column(Name = "droplsn"), SqlType(SqlTypeType.Binary)]
        public Binary Droplsn { get; set; }
        [Column(Name = "fileguid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Fileguid { get; set; }
        [Column(Name = "fileid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Fileid { get; set; }
        [Column(Name = "filestate", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Filestate { get; set; }
        [Column(Name = "filetype", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Filetype { get; set; }
        [Column(Name = "firstupdatelsn"), SqlType(SqlTypeType.Binary)]
        public Binary Firstupdatelsn { get; set; }
        [Column(Name = "forkguid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Forkguid { get; set; }
        [Column(Name = "forklsn"), SqlType(SqlTypeType.Binary)]
        public Binary Forklsn { get; set; }
        [Column(Name = "forkvc", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Forkvc { get; set; }
        [Column(Name = "growth", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Growth { get; set; }
        [Column(Name = "grpid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Grpid { get; set; }
        [Column(Name = "internalstatus", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Internalstatus { get; set; }
        [Column(Name = "lastupdatelsn"), SqlType(SqlTypeType.Binary)]
        public Binary Lastupdatelsn { get; set; }
        [Column(Name = "lname", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Lname { get; set; }
        [Column(Name = "maxsize", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Maxsize { get; set; }
        [Column(Name = "pname", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Pname { get; set; }
        [Column(Name = "readonlybaselsn"), SqlType(SqlTypeType.Binary)]
        public Binary Readonlybaselsn { get; set; }
        [Column(Name = "readonlylsn"), SqlType(SqlTypeType.Binary)]
        public Binary Readonlylsn { get; set; }
        [Column(Name = "readwritelsn"), SqlType(SqlTypeType.Binary)]
        public Binary Readwritelsn { get; set; }
        [Column(Name = "redostartforkguid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Redostartforkguid { get; set; }
        [Column(Name = "redostartlsn"), SqlType(SqlTypeType.Binary)]
        public Binary Redostartlsn { get; set; }
        [Column(Name = "redotargetlsn"), SqlType(SqlTypeType.Binary)]
        public Binary Redotargetlsn { get; set; }
        [Column(Name = "size", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Size { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysdbreg")]
    public sealed partial class SysDbReg {

        #region Public Members
        [Column(Name = "category", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Category { get; set; }
        [Column(Name = "crdate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Crdate { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "modified", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modified { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "restat", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Restat { get; set; }
        [Column(Name = "scope", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Scope { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "svcbrkrguid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Svcbrkrguid { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysdercv")]
    public sealed partial class SysDerCv {

        #region Public Members
        [Column(Name = "contract", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Contract { get; set; }
        [Column(Name = "convgroup", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Convgroup { get; set; }
        [Column(Name = "diagid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Diagid { get; set; }
        [Column(Name = "dlgopened", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Dlgopened { get; set; }
        [Column(Name = "dlgtimer", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Dlgtimer { get; set; }
        [Column(Name = "enddlgseq", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Enddlgseq { get; set; }
        [Column(Name = "farbrkrinst"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Farbrkrinst { get; set; }
        [Column(Name = "farprincid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Farprincid { get; set; }
        [Column(Name = "farsvc", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Farsvc { get; set; }
        [Column(Name = "firstoorder", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Firstoorder { get; set; }
        [Column(Name = "handle", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Handle { get; set; }
        [Column(Name = "initiator", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Initiator { get; set; }
        [Column(Name = "inseskey", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 56)]
        public Binary Inseskey { get; set; }
        [Column(Name = "inseskeyid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Inseskeyid { get; set; }
        [Column(Name = "lastoorder", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Lastoorder { get; set; }
        [Column(Name = "lastoorderfr", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Lastoorderfr { get; set; }
        [Column(Name = "lifetime", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Lifetime { get; set; }
        [Column(Name = "outseskey", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 56)]
        public Binary Outseskey { get; set; }
        [Column(Name = "outseskeyid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Outseskeyid { get; set; }
        [Column(Name = "princid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Princid { get; set; }
        [Column(Name = "rcvfrag", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Rcvfrag { get; set; }
        [Column(Name = "rcvseq", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Rcvseq { get; set; }
        [Column(Name = "state", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string State { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "svcid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Svcid { get; set; }
        [Column(Name = "sysseq", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Sysseq { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysdesend")]
    public sealed partial class SysDesEnd {

        #region Public Members
        [Column(Name = "diagid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Diagid { get; set; }
        [Column(Name = "handle", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Handle { get; set; }
        [Column(Name = "initiator", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Initiator { get; set; }
        [Column(Name = "sendseq", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Sendseq { get; set; }
        [Column(Name = "sendxact", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary Sendxact { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysendpts")]
    public sealed partial class SysEndPts {

        #region Public Members
        [Column(Name = "affinity", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Affinity { get; set; }
        [Column(Name = "authrealm"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Authrealm { get; set; }
        [Column(Name = "authtype", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Authtype { get; set; }
        [Column(Name = "bstat", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Bstat { get; set; }
        [Column(Name = "dfltdb"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Dfltdb { get; set; }
        [Column(Name = "dfltdm"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Dfltdm { get; set; }
        [Column(Name = "dfltns"), SqlType(SqlTypeType.NVarChar, Length = 768)]
        public string Dfltns { get; set; }
        [Column(Name = "encalg", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Encalg { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "maxconn", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Maxconn { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "port1", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Port1 { get; set; }
        [Column(Name = "port2", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Port2 { get; set; }
        [Column(Name = "protocol", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Protocol { get; set; }
        [Column(Name = "pstat", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Pstat { get; set; }
        [Column(Name = "site"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Site { get; set; }
        [Column(Name = "tstat", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Tstat { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "typeint", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Typeint { get; set; }
        [Column(Name = "wsdlproc"), SqlType(SqlTypeType.NVarChar, Length = 1552)]
        public string Wsdlproc { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysguidrefs")]
    public sealed partial class SysGuidRefs {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "guid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Guid { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "subid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Subid { get; set; }
        #endregion
    }
    [Table(Name = "sys.syshobtcolumns")]
    public sealed partial class SysHoBtColumns {

        #region Public Members
        [Column(Name = "bitposint", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Bitposint { get; set; }
        [Column(Name = "bitposleaf", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Bitposleaf { get; set; }
        [Column(Name = "collationid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Collationid { get; set; }
        [Column(Name = "hobtcolumnid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Hobtcolumnid { get; set; }
        [Column(Name = "hobtid", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Hobtid { get; set; }
        [Column(Name = "length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Length { get; set; }
        [Column(Name = "nullbitint", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Nullbitint { get; set; }
        [Column(Name = "nullbitleaf", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Nullbitleaf { get; set; }
        [Column(Name = "offsetint", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Offsetint { get; set; }
        [Column(Name = "offsetleaf", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Offsetleaf { get; set; }
        [Column(Name = "ordkey", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Ordkey { get; set; }
        [Column(Name = "prec", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Prec { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "xtype", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Xtype { get; set; }
        #endregion
    }
    [Table(Name = "sys.syshobts")]
    public sealed partial class SysHoBts {

        #region Public Members
        [Column(Name = "fillfact", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Fillfact { get; set; }
        [Column(Name = "hobtid", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Hobtid { get; set; }
        [Column(Name = "lockres", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Lockres { get; set; }
        [Column(Name = "maxint", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Maxint { get; set; }
        [Column(Name = "maxleaf", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Maxleaf { get; set; }
        [Column(Name = "maxnullbit", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Maxnullbit { get; set; }
        [Column(Name = "minint", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Minint { get; set; }
        [Column(Name = "minleaf", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Minleaf { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysiscols")]
    public sealed partial class SysIsCols {

        #region Public Members
        [Column(Name = "idmajor", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Idmajor { get; set; }
        [Column(Name = "idminor", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Idminor { get; set; }
        [Column(Name = "intprop", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Intprop { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "subid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Subid { get; set; }
        [Column(Name = "tinyprop1", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Tinyprop1 { get; set; }
        [Column(Name = "tinyprop2", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Tinyprop2 { get; set; }
        #endregion
    }
    [Table(Name = "sys.syslnklgns")]
    public sealed partial class SysLnkLgns {

        #region Public Members
        [Column(Name = "lgnid"), SqlType(SqlTypeType.Int)]
        public int? Lgnid { get; set; }
        [Column(Name = "modate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modate { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "pwdhash"), SqlType(SqlTypeType.VarBinary, Length = 320)]
        public Binary Pwdhash { get; set; }
        [Column(Name = "srvid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Srvid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.syslogshippers")]
    public sealed partial class SysLogShippers {

        #region Public Members
        [Column(Name = "familyid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Familyid { get; set; }
        [Column(Name = "logshippingid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Logshippingid { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "psrv"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Psrv { get; set; }
        [Column(Name = "rolesequence", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Rolesequence { get; set; }
        [Column(Name = "safety", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Safety { get; set; }
        [Column(Name = "safetysequence", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Safetysequence { get; set; }
        [Column(Name = "ssrv"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Ssrv { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Status { get; set; }
        [Column(Name = "statussequence", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Statussequence { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysmultiobjrefs")]
    public sealed partial class SysMultiObjRefs {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "depid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Depid { get; set; }
        [Column(Name = "depsubid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Depsubid { get; set; }
        [Column(Name = "indepid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Indepid { get; set; }
        [Column(Name = "indepsubid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Indepsubid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysnsobjs")]
    public sealed partial class SysNsObjs {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "created", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Created { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "intprop", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Intprop { get; set; }
        [Column(Name = "modified", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modified { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "nsid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Nsid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysobjkeycrypts")]
    public sealed partial class SysObjKeyCrypts {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "crypto", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = -1)]
        public Binary Crypto { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "thumbprint", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 32)]
        public Binary Thumbprint { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 4)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysobjvalues")]
    public sealed partial class SysObjValues {

        #region Public Members
        [Column(Name = "imageval"), SqlType(SqlTypeType.VarBinary, Length = -1)]
        public Binary Imageval { get; set; }
        [Column(Name = "objid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Objid { get; set; }
        [Column(Name = "subobjid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Subobjid { get; set; }
        [Column(Name = "valclass", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Valclass { get; set; }
        [Column(Name = "valnum", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Valnum { get; set; }
        [Column(Name = "value"), SqlType(SqlTypeType.SqlVariant)]
        public object Value { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysowners")]
    public sealed partial class SysOwners {

        #region Public Members
        [Column(Name = "created", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Created { get; set; }
        [Column(Name = "dfltsch"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Dfltsch { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "modified", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modified { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "password"), SqlType(SqlTypeType.VarBinary, Length = 256)]
        public Binary Password { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysprivs")]
    public sealed partial class SysPrivs {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "grantee", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Grantee { get; set; }
        [Column(Name = "grantor", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Grantor { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "state", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string State { get; set; }
        [Column(Name = "subid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Subid { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 4)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysqnames")]
    public sealed partial class SysQNames {

        #region Public Members
        [Column(Name = "hash", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Hash { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Name { get; set; }
        [Column(Name = "nid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Nid { get; set; }
        [Column(Name = "qid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Qid { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysremsvcbinds")]
    public sealed partial class SysRemSvcBinds {

        #region Public Members
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "remsvc"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Remsvc { get; set; }
        [Column(Name = "scid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Scid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysrmtlgns")]
    public sealed partial class SysRmtLgns {

        #region Public Members
        [Column(Name = "lgnid"), SqlType(SqlTypeType.Int)]
        public int? Lgnid { get; set; }
        [Column(Name = "modate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modate { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "srvid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Srvid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysrowsetcolumns")]
    public sealed partial class SysRowSetColumns {

        #region Public Members
        [Column(Name = "hobtcolid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Hobtcolid { get; set; }
        [Column(Name = "maxinrowlen", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Maxinrowlen { get; set; }
        [Column(Name = "rcmodified", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Rcmodified { get; set; }
        [Column(Name = "rowsetcolid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Rowsetcolid { get; set; }
        [Column(Name = "rowsetid", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Rowsetid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysrowsetrefs")]
    public sealed partial class SysRowSetRefs {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "indexid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Indexid { get; set; }
        [Column(Name = "objid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Objid { get; set; }
        [Column(Name = "rowsetid", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Rowsetid { get; set; }
        [Column(Name = "rowsetnum", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Rowsetnum { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysrowsets")]
    public sealed partial class SysRowSets {

        #region Public Members
        [Column(Name = "fgidfs", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Fgidfs { get; set; }
        [Column(Name = "idmajor", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Idmajor { get; set; }
        [Column(Name = "idminor", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Idminor { get; set; }
        [Column(Name = "numpart", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Numpart { get; set; }
        [Column(Name = "ownertype", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Ownertype { get; set; }
        [Column(Name = "rcrows", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Rcrows { get; set; }
        [Column(Name = "rowsetid", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Rowsetid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysscalartypes")]
    public sealed partial class SysScalarTypes {

        #region Public Members
        [Column(Name = "chk", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Chk { get; set; }
        [Column(Name = "collationid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Collationid { get; set; }
        [Column(Name = "created", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Created { get; set; }
        [Column(Name = "dflt", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Dflt { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Length { get; set; }
        [Column(Name = "modified", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modified { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "prec", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Prec { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "schid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Schid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "xtype", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Xtype { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysschobjs")]
    public sealed partial class SysSchObjs {

        #region Public Members
        [Column(Name = "created", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Created { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "intprop", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Intprop { get; set; }
        [Column(Name = "modified", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modified { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "nsclass", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Nsclass { get; set; }
        [Column(Name = "nsid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Nsid { get; set; }
        [Column(Name = "pclass", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Pclass { get; set; }
        [Column(Name = "pid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Pid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysserefs")]
    public sealed partial class SysSeRefs {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "depid", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Depid { get; set; }
        [Column(Name = "indepid", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Indepid { get; set; }
        #endregion
    }
    [Table(Name = "sys.syssingleobjrefs")]
    public sealed partial class SysSingleObjRefs {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "depid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Depid { get; set; }
        [Column(Name = "depsubid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Depsubid { get; set; }
        [Column(Name = "indepid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Indepid { get; set; }
        [Column(Name = "indepsubid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Indepsubid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.systypedsubobjs")]
    public sealed partial class SysTypedSubObjs {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "collationid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Collationid { get; set; }
        [Column(Name = "idmajor", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Idmajor { get; set; }
        [Column(Name = "intprop", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Intprop { get; set; }
        [Column(Name = "length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Length { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "prec", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Prec { get; set; }
        [Column(Name = "scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scale { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "subid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Subid { get; set; }
        [Column(Name = "utype", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Utype { get; set; }
        [Column(Name = "xtype", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Xtype { get; set; }
        #endregion
    }
    [Table(Name = "sys.syswebmethods")]
    public sealed partial class SysWEbMethods {

        #region Public Members
        [Column(Name = "alias", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 128)]
        public string Alias { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "nmspace"), SqlType(SqlTypeType.NVarChar, Length = 768)]
        public string Nmspace { get; set; }
        [Column(Name = "objname"), SqlType(SqlTypeType.NVarChar, Length = 1552)]
        public string Objname { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysxmitqueue")]
    public sealed partial class SysXMitQueue {

        #region Public Members
        [Column(Name = "dlgerr", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Dlgerr { get; set; }
        [Column(Name = "dlgid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Dlgid { get; set; }
        [Column(Name = "enqtime", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Enqtime { get; set; }
        [Column(Name = "finitiator", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Finitiator { get; set; }
        [Column(Name = "frombrkrinst"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Frombrkrinst { get; set; }
        [Column(Name = "fromsvc"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Fromsvc { get; set; }
        [Column(Name = "hdrpartlen", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Hdrpartlen { get; set; }
        [Column(Name = "hdrseclen", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Hdrseclen { get; set; }
        [Column(Name = "msgbody"), SqlType(SqlTypeType.VarBinary, Length = -1)]
        public Binary Msgbody { get; set; }
        [Column(Name = "msgbodylen", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Msgbodylen { get; set; }
        [Column(Name = "msgenc", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Msgenc { get; set; }
        [Column(Name = "msgid", CanBeNull = false), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid Msgid { get; set; }
        [Column(Name = "msgseqnum", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Msgseqnum { get; set; }
        [Column(Name = "msgtype"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Msgtype { get; set; }
        [Column(Name = "rsndtime"), SqlType(SqlTypeType.DateTime)]
        public DateTime? Rsndtime { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "svccontr"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Svccontr { get; set; }
        [Column(Name = "tobrkrinst"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Tobrkrinst { get; set; }
        [Column(Name = "tosvc"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Tosvc { get; set; }
        [Column(Name = "unackmfn", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Unackmfn { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysxmlcomponent")]
    public sealed partial class SysXmlComponent {

        #region Public Members
        [Column(Name = "defval"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Defval { get; set; }
        [Column(Name = "deriv", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Deriv { get; set; }
        [Column(Name = "enum", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Enum { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "kind", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Kind { get; set; }
        [Column(Name = "nameid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Nameid { get; set; }
        [Column(Name = "nmscope", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Nmscope { get; set; }
        [Column(Name = "qual", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Qual { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "symspace", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Symspace { get; set; }
        [Column(Name = "uriord", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Uriord { get; set; }
        [Column(Name = "xsdid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Xsdid { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysxmlfacet")]
    public sealed partial class SysXmlFacet {

        #region Public Members
        [Column(Name = "compid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Compid { get; set; }
        [Column(Name = "dflt"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Dflt { get; set; }
        [Column(Name = "kind", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Kind { get; set; }
        [Column(Name = "ord", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Ord { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysxmlplacement")]
    public sealed partial class SysXmlPlacement {

        #region Public Members
        [Column(Name = "defval"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Defval { get; set; }
        [Column(Name = "maxoccur", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Maxoccur { get; set; }
        [Column(Name = "minoccur", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Minoccur { get; set; }
        [Column(Name = "ordinal", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Ordinal { get; set; }
        [Column(Name = "placedid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Placedid { get; set; }
        [Column(Name = "placingid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Placingid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysxprops")]
    public sealed partial class SysXProps {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "subid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Subid { get; set; }
        [Column(Name = "value"), SqlType(SqlTypeType.SqlVariant)]
        public object Value { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysxsrvs")]
    public sealed partial class SysXSrvs {

        #region Public Members
        [Column(Name = "catalog"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Catalog { get; set; }
        [Column(Name = "cid"), SqlType(SqlTypeType.Int)]
        public int? Cid { get; set; }
        [Column(Name = "connecttimeout"), SqlType(SqlTypeType.Int)]
        public int? Connecttimeout { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "modate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "product", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Product { get; set; }
        [Column(Name = "provider", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Provider { get; set; }
        [Column(Name = "querytimeout"), SqlType(SqlTypeType.Int)]
        public int? Querytimeout { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    #endregion

    #region CompatibilityViews
    [Table(Name = "sys.sysaltfiles")]
    public sealed partial class SysAltFiles {

        #region Public Members
        [Column(Name = "dbid"), SqlType(SqlTypeType.SmallInt)]
        public short? Dbid { get; set; }
        [Column(Name = "fileid"), SqlType(SqlTypeType.SmallInt)]
        public short? Fileid { get; set; }
        [Column(Name = "filename", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Filename { get; set; }
        [Column(Name = "groupid"), SqlType(SqlTypeType.SmallInt)]
        public short? Groupid { get; set; }
        [Column(Name = "growth", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Growth { get; set; }
        [Column(Name = "maxsize", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Maxsize { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "perf"), SqlType(SqlTypeType.Int)]
        public int? Perf { get; set; }
        [Column(Name = "size", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Size { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.Int)]
        public int? Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.syscacheobjects")]
    public sealed partial class SysCacheObjects {

        #region Public Members
        [Column(Name = "avgexectime"), SqlType(SqlTypeType.BigInt)]
        public long? Avgexectime { get; set; }
        [Column(Name = "bucketid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Bucketid { get; set; }
        [Column(Name = "cacheobjtype"), SqlType(SqlTypeType.NVarChar, Length = 34)]
        public string Cacheobjtype { get; set; }
        [Column(Name = "dateformat"), SqlType(SqlTypeType.SmallInt)]
        public short? Dateformat { get; set; }
        [Column(Name = "dbid"), SqlType(SqlTypeType.SmallInt)]
        public short? Dbid { get; set; }
        [Column(Name = "dbidexec"), SqlType(SqlTypeType.SmallInt)]
        public short? Dbidexec { get; set; }
        [Column(Name = "langid"), SqlType(SqlTypeType.SmallInt)]
        public short? Langid { get; set; }
        [Column(Name = "lastreads"), SqlType(SqlTypeType.BigInt)]
        public long? Lastreads { get; set; }
        [Column(Name = "lasttime"), SqlType(SqlTypeType.BigInt)]
        public long? Lasttime { get; set; }
        [Column(Name = "lastwrites"), SqlType(SqlTypeType.BigInt)]
        public long? Lastwrites { get; set; }
        [Column(Name = "maxexectime"), SqlType(SqlTypeType.BigInt)]
        public long? Maxexectime { get; set; }
        [Column(Name = "objid"), SqlType(SqlTypeType.Int)]
        public int? Objid { get; set; }
        [Column(Name = "objtype", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 40)]
        public string Objtype { get; set; }
        [Column(Name = "pagesused"), SqlType(SqlTypeType.Int)]
        public int? Pagesused { get; set; }
        [Column(Name = "refcounts", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Refcounts { get; set; }
        [Column(Name = "setopts"), SqlType(SqlTypeType.Int)]
        public int? Setopts { get; set; }
        [Column(Name = "sql"), SqlType(SqlTypeType.NVarChar, Length = 7800)]
        public string Sql { get; set; }
        [Column(Name = "sqlbytes"), SqlType(SqlTypeType.Int)]
        public int? Sqlbytes { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.Int)]
        public int? Status { get; set; }
        [Column(Name = "uid"), SqlType(SqlTypeType.SmallInt)]
        public short? Uid { get; set; }
        [Column(Name = "usecounts", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Usecounts { get; set; }
        #endregion
    }
    [Table(Name = "sys.syscharsets")]
    public sealed partial class SysCharSets {

        #region Public Members
        [Column(Name = "binarydefinition"), SqlType(SqlTypeType.VarBinary, Length = 6000)]
        public Binary Binarydefinition { get; set; }
        [Column(Name = "csid", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Csid { get; set; }
        [Column(Name = "definition"), SqlType(SqlTypeType.Image, Length = 16)]
        public Binary Definition { get; set; }
        [Column(Name = "description", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 510)]
        public string Description { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Id { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.SmallInt)]
        public short? Status { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.syscolumns")]
    public sealed partial class SysColumns {

        #region Public Members
        [Column(Name = "autoval"), SqlType(SqlTypeType.VarBinary, Length = 8000)]
        public Binary Autoval { get; set; }
        [Column(Name = "bitpos"), SqlType(SqlTypeType.TinyInt)]
        public byte? Bitpos { get; set; }
        [Column(Name = "cdefault", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Cdefault { get; set; }
        [Column(Name = "colid"), SqlType(SqlTypeType.SmallInt)]
        public short? Colid { get; set; }
        [Column(Name = "collation"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Collation { get; set; }
        [Column(Name = "collationid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Collationid { get; set; }
        [Column(Name = "colorder"), SqlType(SqlTypeType.SmallInt)]
        public short? Colorder { get; set; }
        [Column(Name = "colstat"), SqlType(SqlTypeType.SmallInt)]
        public short? Colstat { get; set; }
        [Column(Name = "domain", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Domain { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "iscomputed"), SqlType(SqlTypeType.Int)]
        public int? Iscomputed { get; set; }
        [Column(Name = "isnullable"), SqlType(SqlTypeType.Int)]
        public int? Isnullable { get; set; }
        [Column(Name = "isoutparam"), SqlType(SqlTypeType.Int)]
        public int? Isoutparam { get; set; }
        [Column(Name = "language"), SqlType(SqlTypeType.Int)]
        public int? Language { get; set; }
        [Column(Name = "length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Length { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "number"), SqlType(SqlTypeType.SmallInt)]
        public short? Number { get; set; }
        [Column(Name = "offset"), SqlType(SqlTypeType.SmallInt)]
        public short? Offset { get; set; }
        [Column(Name = "prec"), SqlType(SqlTypeType.SmallInt)]
        public short? Prec { get; set; }
        [Column(Name = "printfmt"), SqlType(SqlTypeType.VarChar, Length = 255)]
        public string Printfmt { get; set; }
        [Column(Name = "reserved"), SqlType(SqlTypeType.TinyInt)]
        public byte? Reserved { get; set; }
        [Column(Name = "scale"), SqlType(SqlTypeType.Int)]
        public int? Scale { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.TinyInt)]
        public byte? Status { get; set; }
        [Column(Name = "tdscollation"), SqlType(SqlTypeType.Binary)]
        public Binary Tdscollation { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "typestat"), SqlType(SqlTypeType.TinyInt)]
        public byte? Typestat { get; set; }
        [Column(Name = "usertype"), SqlType(SqlTypeType.SmallInt)]
        public short? Usertype { get; set; }
        [Column(Name = "xoffset"), SqlType(SqlTypeType.SmallInt)]
        public short? Xoffset { get; set; }
        [Column(Name = "xprec", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Xprec { get; set; }
        [Column(Name = "xscale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Xscale { get; set; }
        [Column(Name = "xtype", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Xtype { get; set; }
        [Column(Name = "xusertype"), SqlType(SqlTypeType.SmallInt)]
        public short? Xusertype { get; set; }
        #endregion
    }
    [Table(Name = "sys.syscomments")]
    public sealed partial class SysComments {

        #region Public Members
        [Column(Name = "colid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Colid { get; set; }
        [Column(Name = "compressed", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Compressed { get; set; }
        [Column(Name = "ctext"), SqlType(SqlTypeType.VarBinary, Length = 8000)]
        public Binary Ctext { get; set; }
        [Column(Name = "encrypted", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Encrypted { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "language"), SqlType(SqlTypeType.SmallInt)]
        public short? Language { get; set; }
        [Column(Name = "number"), SqlType(SqlTypeType.SmallInt)]
        public short? Number { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Status { get; set; }
        [Column(Name = "text"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Text { get; set; }
        [Column(Name = "texttype"), SqlType(SqlTypeType.SmallInt)]
        public short? Texttype { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysconfigures")]
    public sealed partial class SysConfigures {

        #region Public Members
        [Column(Name = "comment", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 510)]
        public string Comment { get; set; }
        [Column(Name = "config", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Config { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.SmallInt)]
        public short? Status { get; set; }
        [Column(Name = "value"), SqlType(SqlTypeType.Int)]
        public int? Value { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysconstraints")]
    public sealed partial class SysConstraints {

        #region Public Members
        [Column(Name = "actions"), SqlType(SqlTypeType.Int)]
        public int? Actions { get; set; }
        [Column(Name = "colid"), SqlType(SqlTypeType.SmallInt)]
        public short? Colid { get; set; }
        [Column(Name = "constid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Constid { get; set; }
        [Column(Name = "error"), SqlType(SqlTypeType.Int)]
        public int? Error { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "spare1"), SqlType(SqlTypeType.TinyInt)]
        public byte? Spare1 { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.Int)]
        public int? Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.syscurconfigs")]
    public sealed partial class SysCurConfigs {

        #region Public Members
        [Column(Name = "comment", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 510)]
        public string Comment { get; set; }
        [Column(Name = "config"), SqlType(SqlTypeType.SmallInt)]
        public short? Config { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.SmallInt)]
        public short? Status { get; set; }
        [Column(Name = "value", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Value { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysdatabases")]
    public sealed partial class SysDatabases {

        #region Public Members
        [Column(Name = "category"), SqlType(SqlTypeType.Int)]
        public int? Category { get; set; }
        [Column(Name = "cmptlevel"), SqlType(SqlTypeType.TinyInt)]
        public byte? Cmptlevel { get; set; }
        [Column(Name = "crdate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Crdate { get; set; }
        [Column(Name = "dbid"), SqlType(SqlTypeType.SmallInt)]
        public short? Dbid { get; set; }
        [Column(Name = "filename"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Filename { get; set; }
        [Column(Name = "mode"), SqlType(SqlTypeType.SmallInt)]
        public short? Mode { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "reserved"), SqlType(SqlTypeType.DateTime)]
        public DateTime? Reserved { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.Int)]
        public int? Status { get; set; }
        [Column(Name = "status2"), SqlType(SqlTypeType.Int)]
        public int? Status2 { get; set; }
        [Column(Name = "version"), SqlType(SqlTypeType.SmallInt)]
        public short? Version { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysdepends")]
    public sealed partial class SysDepends {

        #region Public Members
        [Column(Name = "depdbid"), SqlType(SqlTypeType.SmallInt)]
        public short? Depdbid { get; set; }
        [Column(Name = "depid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Depid { get; set; }
        [Column(Name = "depnumber"), SqlType(SqlTypeType.SmallInt)]
        public short? Depnumber { get; set; }
        [Column(Name = "depsiteid"), SqlType(SqlTypeType.SmallInt)]
        public short? Depsiteid { get; set; }
        [Column(Name = "deptype", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Deptype { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "number"), SqlType(SqlTypeType.SmallInt)]
        public short? Number { get; set; }
        [Column(Name = "readobj", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Readobj { get; set; }
        [Column(Name = "resultobj", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Resultobj { get; set; }
        [Column(Name = "selall", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Selall { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.SmallInt)]
        public short? Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysdevices")]
    public sealed partial class SysDevices {

        #region Public Members
        [Column(Name = "cntrltype"), SqlType(SqlTypeType.SmallInt)]
        public short? Cntrltype { get; set; }
        [Column(Name = "high"), SqlType(SqlTypeType.Int)]
        public int? High { get; set; }
        [Column(Name = "low"), SqlType(SqlTypeType.Int)]
        public int? Low { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "phyname"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Phyname { get; set; }
        [Column(Name = "size"), SqlType(SqlTypeType.Int)]
        public int? Size { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.SmallInt)]
        public short? Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysfilegroups")]
    public sealed partial class SysFileGroups {

        #region Public Members
        [Column(Name = "allocpolicy"), SqlType(SqlTypeType.SmallInt)]
        public short? Allocpolicy { get; set; }
        [Column(Name = "groupid"), SqlType(SqlTypeType.SmallInt)]
        public short? Groupid { get; set; }
        [Column(Name = "groupname", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Groupname { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.Int)]
        public int? Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysfiles")]
    public sealed partial class SysFiles {

        #region Public Members
        [Column(Name = "fileid"), SqlType(SqlTypeType.SmallInt)]
        public short? Fileid { get; set; }
        [Column(Name = "filename", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Filename { get; set; }
        [Column(Name = "groupid"), SqlType(SqlTypeType.SmallInt)]
        public short? Groupid { get; set; }
        [Column(Name = "growth", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Growth { get; set; }
        [Column(Name = "maxsize", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Maxsize { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "perf"), SqlType(SqlTypeType.Int)]
        public int? Perf { get; set; }
        [Column(Name = "size", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Size { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.Int)]
        public int? Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysforeignkeys")]
    public sealed partial class SysForeignKeys {

        #region Public Members
        [Column(Name = "constid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Constid { get; set; }
        [Column(Name = "fkey"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey { get; set; }
        [Column(Name = "fkeyid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Fkeyid { get; set; }
        [Column(Name = "keyno"), SqlType(SqlTypeType.SmallInt)]
        public short? Keyno { get; set; }
        [Column(Name = "rkey"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey { get; set; }
        [Column(Name = "rkeyid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Rkeyid { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysfulltextcatalogs")]
    public sealed partial class SysFullTextCatalogs {

        #region Public Members
        [Column(Name = "ftcatid"), SqlType(SqlTypeType.SmallInt)]
        public short? Ftcatid { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "path"), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Path { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.SmallInt)]
        public short? Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysindexes")]
    public sealed partial class SysIndexes {

        #region Public Members
        [Column(Name = "dpages"), SqlType(SqlTypeType.Int)]
        public int? Dpages { get; set; }
        [Column(Name = "first"), SqlType(SqlTypeType.Binary)]
        public Binary First { get; set; }
        [Column(Name = "FirstIAM"), SqlType(SqlTypeType.Binary)]
        public Binary FirstIAM { get; set; }
        [Column(Name = "groupid"), SqlType(SqlTypeType.SmallInt)]
        public short? Groupid { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "impid"), SqlType(SqlTypeType.SmallInt)]
        public short? Impid { get; set; }
        [Column(Name = "indid"), SqlType(SqlTypeType.SmallInt)]
        public short? Indid { get; set; }
        [Column(Name = "keycnt"), SqlType(SqlTypeType.SmallInt)]
        public short? Keycnt { get; set; }
        [Column(Name = "keys"), SqlType(SqlTypeType.VarBinary, Length = 1088)]
        public Binary Keys { get; set; }
        [Column(Name = "lockflags"), SqlType(SqlTypeType.SmallInt)]
        public short? Lockflags { get; set; }
        [Column(Name = "maxirow"), SqlType(SqlTypeType.SmallInt)]
        public short? Maxirow { get; set; }
        [Column(Name = "maxlen"), SqlType(SqlTypeType.Int)]
        public int? Maxlen { get; set; }
        [Column(Name = "minlen"), SqlType(SqlTypeType.SmallInt)]
        public short? Minlen { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "OrigFillFactor"), SqlType(SqlTypeType.TinyInt)]
        public byte? OrigFillFactor { get; set; }
        [Column(Name = "pgmodctr"), SqlType(SqlTypeType.Int)]
        public int? Pgmodctr { get; set; }
        [Column(Name = "reserved"), SqlType(SqlTypeType.Int)]
        public int? Reserved { get; set; }
        [Column(Name = "reserved2"), SqlType(SqlTypeType.Int)]
        public int? Reserved2 { get; set; }
        [Column(Name = "reserved3"), SqlType(SqlTypeType.TinyInt)]
        public byte? Reserved3 { get; set; }
        [Column(Name = "reserved4"), SqlType(SqlTypeType.TinyInt)]
        public byte? Reserved4 { get; set; }
        [Column(Name = "root"), SqlType(SqlTypeType.Binary)]
        public Binary Root { get; set; }
        [Column(Name = "rowcnt"), SqlType(SqlTypeType.BigInt)]
        public long? Rowcnt { get; set; }
        [Column(Name = "rowmodctr"), SqlType(SqlTypeType.Int)]
        public int? Rowmodctr { get; set; }
        [Column(Name = "rows"), SqlType(SqlTypeType.Int)]
        public int? Rows { get; set; }
        [Column(Name = "statblob"), SqlType(SqlTypeType.Image, Length = 16)]
        public Binary Statblob { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.Int)]
        public int? Status { get; set; }
        [Column(Name = "StatVersion"), SqlType(SqlTypeType.TinyInt)]
        public byte? StatVersion { get; set; }
        [Column(Name = "used"), SqlType(SqlTypeType.Int)]
        public int? Used { get; set; }
        [Column(Name = "xmaxlen"), SqlType(SqlTypeType.SmallInt)]
        public short? Xmaxlen { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysindexkeys")]
    public sealed partial class SysIndexKeys {

        #region Public Members
        [Column(Name = "colid"), SqlType(SqlTypeType.SmallInt)]
        public short? Colid { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "indid"), SqlType(SqlTypeType.SmallInt)]
        public short? Indid { get; set; }
        [Column(Name = "keyno"), SqlType(SqlTypeType.SmallInt)]
        public short? Keyno { get; set; }
        #endregion
    }
    [Table(Name = "sys.syslanguages")]
    public sealed partial class SysLanguages {

        #region Public Members
        [Column(Name = "alias", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Alias { get; set; }
        [Column(Name = "datefirst", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Datefirst { get; set; }
        [Column(Name = "dateformat", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 6)]
        public string Dateformat { get; set; }
        [Column(Name = "days"), SqlType(SqlTypeType.NVarChar, Length = 434)]
        public string Days { get; set; }
        [Column(Name = "langid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Langid { get; set; }
        [Column(Name = "lcid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Lcid { get; set; }
        [Column(Name = "months"), SqlType(SqlTypeType.NVarChar, Length = 744)]
        public string Months { get; set; }
        [Column(Name = "msglangid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Msglangid { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "shortmonths"), SqlType(SqlTypeType.NVarChar, Length = 264)]
        public string Shortmonths { get; set; }
        [Column(Name = "upgrade"), SqlType(SqlTypeType.Int)]
        public int? Upgrade { get; set; }
        #endregion
    }
    [Table(Name = "sys.syslockinfo")]
    public sealed partial class SysLockInfo {

        #region Public Members
        [Column(Name = "req_cryrefcnt", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short ReqCryrefcnt { get; set; }
        [Column(Name = "req_ecid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ReqEcid { get; set; }
        [Column(Name = "req_lifetime", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ReqLifetime { get; set; }
        [Column(Name = "req_mode", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte ReqMode { get; set; }
        [Column(Name = "req_ownertype", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short ReqOwnertype { get; set; }
        [Column(Name = "req_refcnt", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short ReqRefcnt { get; set; }
        [Column(Name = "req_spid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ReqSpid { get; set; }
        [Column(Name = "req_status", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte ReqStatus { get; set; }
        [Column(Name = "req_transactionID"), SqlType(SqlTypeType.BigInt)]
        public long? ReqTransactionID { get; set; }
        [Column(Name = "req_transactionUOW"), SqlType(SqlTypeType.UniqueIdentifier)]
        public Guid? ReqTransactionUOW { get; set; }
        [Column(Name = "rsc_bin", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary RscBin { get; set; }
        [Column(Name = "rsc_dbid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short RscDbid { get; set; }
        [Column(Name = "rsc_flag", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte RscFlag { get; set; }
        [Column(Name = "rsc_indid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short RscIndid { get; set; }
        [Column(Name = "rsc_objid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RscObjid { get; set; }
        [Column(Name = "rsc_text", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 64)]
        public string RscText { get; set; }
        [Column(Name = "rsc_type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte RscType { get; set; }
        [Column(Name = "rsc_valblk", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary RscValblk { get; set; }
        #endregion
    }
    [Table(Name = "sys.syslogins")]
    public sealed partial class SysLogins {

        #region Public Members
        [Column(Name = "accdate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Accdate { get; set; }
        [Column(Name = "bulkadmin"), SqlType(SqlTypeType.Int)]
        public int? Bulkadmin { get; set; }
        [Column(Name = "createdate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Createdate { get; set; }
        [Column(Name = "dbcreator"), SqlType(SqlTypeType.Int)]
        public int? Dbcreator { get; set; }
        [Column(Name = "dbname"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Dbname { get; set; }
        [Column(Name = "denylogin"), SqlType(SqlTypeType.Int)]
        public int? Denylogin { get; set; }
        [Column(Name = "diskadmin"), SqlType(SqlTypeType.Int)]
        public int? Diskadmin { get; set; }
        [Column(Name = "hasaccess"), SqlType(SqlTypeType.Int)]
        public int? Hasaccess { get; set; }
        [Column(Name = "isntgroup"), SqlType(SqlTypeType.Int)]
        public int? Isntgroup { get; set; }
        [Column(Name = "isntname"), SqlType(SqlTypeType.Int)]
        public int? Isntname { get; set; }
        [Column(Name = "isntuser"), SqlType(SqlTypeType.Int)]
        public int? Isntuser { get; set; }
        [Column(Name = "language"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Language { get; set; }
        [Column(Name = "loginname", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Loginname { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "password"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Password { get; set; }
        [Column(Name = "processadmin"), SqlType(SqlTypeType.Int)]
        public int? Processadmin { get; set; }
        [Column(Name = "resultlimit"), SqlType(SqlTypeType.Int)]
        public int? Resultlimit { get; set; }
        [Column(Name = "securityadmin"), SqlType(SqlTypeType.Int)]
        public int? Securityadmin { get; set; }
        [Column(Name = "serveradmin"), SqlType(SqlTypeType.Int)]
        public int? Serveradmin { get; set; }
        [Column(Name = "setupadmin"), SqlType(SqlTypeType.Int)]
        public int? Setupadmin { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "spacelimit"), SqlType(SqlTypeType.Int)]
        public int? Spacelimit { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.SmallInt)]
        public short? Status { get; set; }
        [Column(Name = "sysadmin"), SqlType(SqlTypeType.Int)]
        public int? Sysadmin { get; set; }
        [Column(Name = "timelimit"), SqlType(SqlTypeType.Int)]
        public int? Timelimit { get; set; }
        [Column(Name = "totcpu"), SqlType(SqlTypeType.Int)]
        public int? Totcpu { get; set; }
        [Column(Name = "totio"), SqlType(SqlTypeType.Int)]
        public int? Totio { get; set; }
        [Column(Name = "updatedate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Updatedate { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysmembers")]
    public sealed partial class SysMembers {

        #region Public Members
        [Column(Name = "groupuid"), SqlType(SqlTypeType.SmallInt)]
        public short? Groupuid { get; set; }
        [Column(Name = "memberuid"), SqlType(SqlTypeType.SmallInt)]
        public short? Memberuid { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysmessages")]
    public sealed partial class SysMessages {

        #region Public Members
        [Column(Name = "description"), SqlType(SqlTypeType.NVarChar, Length = 510)]
        public string Description { get; set; }
        [Column(Name = "dlevel"), SqlType(SqlTypeType.SmallInt)]
        public short? Dlevel { get; set; }
        [Column(Name = "error", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Error { get; set; }
        [Column(Name = "msglangid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Msglangid { get; set; }
        [Column(Name = "severity"), SqlType(SqlTypeType.TinyInt)]
        public byte? Severity { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysobjects")]
    public sealed partial class SysObjects {

        #region Public Members
        [Column(Name = "base_schema_ver"), SqlType(SqlTypeType.Int)]
        public int? BaseSchemaVer { get; set; }
        [Column(Name = "cache"), SqlType(SqlTypeType.SmallInt)]
        public short? Cache { get; set; }
        [Column(Name = "category"), SqlType(SqlTypeType.Int)]
        public int? Category { get; set; }
        [Column(Name = "crdate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Crdate { get; set; }
        [Column(Name = "deltrig"), SqlType(SqlTypeType.Int)]
        public int? Deltrig { get; set; }
        [Column(Name = "ftcatid"), SqlType(SqlTypeType.SmallInt)]
        public short? Ftcatid { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "indexdel"), SqlType(SqlTypeType.SmallInt)]
        public short? Indexdel { get; set; }
        [Column(Name = "info"), SqlType(SqlTypeType.SmallInt)]
        public short? Info { get; set; }
        [Column(Name = "instrig"), SqlType(SqlTypeType.Int)]
        public int? Instrig { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "parent_obj", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ParentObj { get; set; }
        [Column(Name = "refdate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Refdate { get; set; }
        [Column(Name = "replinfo"), SqlType(SqlTypeType.Int)]
        public int? Replinfo { get; set; }
        [Column(Name = "schema_ver"), SqlType(SqlTypeType.Int)]
        public int? SchemaVer { get; set; }
        [Column(Name = "seltrig"), SqlType(SqlTypeType.Int)]
        public int? Seltrig { get; set; }
        [Column(Name = "stats_schema_ver"), SqlType(SqlTypeType.Int)]
        public int? StatsSchemaVer { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.Int)]
        public int? Status { get; set; }
        [Column(Name = "sysstat"), SqlType(SqlTypeType.SmallInt)]
        public short? Sysstat { get; set; }
        [Column(Name = "type"), SqlType(SqlTypeType.Char, Length = 2)]
        public string Type { get; set; }
        [Column(Name = "uid"), SqlType(SqlTypeType.SmallInt)]
        public short? Uid { get; set; }
        [Column(Name = "updtrig"), SqlType(SqlTypeType.Int)]
        public int? Updtrig { get; set; }
        [Column(Name = "userstat"), SqlType(SqlTypeType.SmallInt)]
        public short? Userstat { get; set; }
        [Column(Name = "version"), SqlType(SqlTypeType.Int)]
        public int? Version { get; set; }
        [Column(Name = "xtype", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 2)]
        public string Xtype { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysperfinfo")]
    public sealed partial class SysPerfInfo {

        #region Public Members
        [Column(Name = "cntr_type", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CntrType { get; set; }
        [Column(Name = "cntr_value", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long CntrValue { get; set; }
        [Column(Name = "counter_name", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 256)]
        public string CounterName { get; set; }
        [Column(Name = "instance_name"), SqlType(SqlTypeType.NChar, Length = 256)]
        public string InstanceName { get; set; }
        [Column(Name = "object_name", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 256)]
        public string ObjectName { get; set; }
        #endregion
    }
    [Table(Name = "sys.syspermissions")]
    public sealed partial class SysPermissions {

        #region Public Members
        [Column(Name = "actadd"), SqlType(SqlTypeType.SmallInt)]
        public short? Actadd { get; set; }
        [Column(Name = "actmod"), SqlType(SqlTypeType.SmallInt)]
        public short? Actmod { get; set; }
        [Column(Name = "grantee"), SqlType(SqlTypeType.SmallInt)]
        public short? Grantee { get; set; }
        [Column(Name = "grantor"), SqlType(SqlTypeType.SmallInt)]
        public short? Grantor { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "refadd"), SqlType(SqlTypeType.VarBinary, Length = 4000)]
        public Binary Refadd { get; set; }
        [Column(Name = "refmod"), SqlType(SqlTypeType.VarBinary, Length = 4000)]
        public Binary Refmod { get; set; }
        [Column(Name = "seladd"), SqlType(SqlTypeType.VarBinary, Length = 4000)]
        public Binary Seladd { get; set; }
        [Column(Name = "selmod"), SqlType(SqlTypeType.VarBinary, Length = 4000)]
        public Binary Selmod { get; set; }
        [Column(Name = "updadd"), SqlType(SqlTypeType.VarBinary, Length = 4000)]
        public Binary Updadd { get; set; }
        [Column(Name = "updmod"), SqlType(SqlTypeType.VarBinary, Length = 4000)]
        public Binary Updmod { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysprocesses")]
    public sealed partial class SysProcesses {

        #region Public Members
        [Column(Name = "blocked", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Blocked { get; set; }
        [Column(Name = "cmd", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 32)]
        public string Cmd { get; set; }
        [Column(Name = "context_info", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary ContextInfo { get; set; }
        [Column(Name = "cpu", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Cpu { get; set; }
        [Column(Name = "dbid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Dbid { get; set; }
        [Column(Name = "ecid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Ecid { get; set; }
        [Column(Name = "hostname", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 256)]
        public string Hostname { get; set; }
        [Column(Name = "hostprocess", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 20)]
        public string Hostprocess { get; set; }
        [Column(Name = "kpid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Kpid { get; set; }
        [Column(Name = "last_batch", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime LastBatch { get; set; }
        [Column(Name = "lastwaittype", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 64)]
        public string Lastwaittype { get; set; }
        [Column(Name = "login_time", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime LoginTime { get; set; }
        [Column(Name = "loginame", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 256)]
        public string Loginame { get; set; }
        [Column(Name = "memusage", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Memusage { get; set; }
        [Column(Name = "net_address", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 24)]
        public string NetAddress { get; set; }
        [Column(Name = "net_library", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 24)]
        public string NetLibrary { get; set; }
        [Column(Name = "nt_domain", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 256)]
        public string NtDomain { get; set; }
        [Column(Name = "nt_username", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 256)]
        public string NtUsername { get; set; }
        [Column(Name = "open_tran", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short OpenTran { get; set; }
        [Column(Name = "physical_io", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PhysicalIo { get; set; }
        [Column(Name = "program_name", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 256)]
        public string ProgramName { get; set; }
        [Column(Name = "request_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int RequestId { get; set; }
        [Column(Name = "sid", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary Sid { get; set; }
        [Column(Name = "spid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Spid { get; set; }
        [Column(Name = "sql_handle", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary SqlHandle { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 60)]
        public string Status { get; set; }
        [Column(Name = "stmt_end", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int StmtEnd { get; set; }
        [Column(Name = "stmt_start", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int StmtStart { get; set; }
        [Column(Name = "uid"), SqlType(SqlTypeType.SmallInt)]
        public short? Uid { get; set; }
        [Column(Name = "waitresource", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 512)]
        public string Waitresource { get; set; }
        [Column(Name = "waittime", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Waittime { get; set; }
        [Column(Name = "waittype", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary Waittype { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysprotects")]
    public sealed partial class SysProtects {

        #region Public Members
        [Column(Name = "action"), SqlType(SqlTypeType.TinyInt)]
        public byte? Action { get; set; }
        [Column(Name = "columns"), SqlType(SqlTypeType.VarBinary, Length = 8000)]
        public Binary Columns { get; set; }
        [Column(Name = "grantor"), SqlType(SqlTypeType.SmallInt)]
        public short? Grantor { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "protecttype"), SqlType(SqlTypeType.TinyInt)]
        public byte? Protecttype { get; set; }
        [Column(Name = "uid"), SqlType(SqlTypeType.SmallInt)]
        public short? Uid { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysreferences")]
    public sealed partial class SysReferences {

        #region Public Members
        [Column(Name = "constid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Constid { get; set; }
        [Column(Name = "fkey1"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey1 { get; set; }
        [Column(Name = "fkey10"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey10 { get; set; }
        [Column(Name = "fkey11"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey11 { get; set; }
        [Column(Name = "fkey12"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey12 { get; set; }
        [Column(Name = "fkey13"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey13 { get; set; }
        [Column(Name = "fkey14"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey14 { get; set; }
        [Column(Name = "fkey15"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey15 { get; set; }
        [Column(Name = "fkey16"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey16 { get; set; }
        [Column(Name = "fkey2"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey2 { get; set; }
        [Column(Name = "fkey3"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey3 { get; set; }
        [Column(Name = "fkey4"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey4 { get; set; }
        [Column(Name = "fkey5"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey5 { get; set; }
        [Column(Name = "fkey6"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey6 { get; set; }
        [Column(Name = "fkey7"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey7 { get; set; }
        [Column(Name = "fkey8"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey8 { get; set; }
        [Column(Name = "fkey9"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkey9 { get; set; }
        [Column(Name = "fkeydbid"), SqlType(SqlTypeType.SmallInt)]
        public short? Fkeydbid { get; set; }
        [Column(Name = "fkeyid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Fkeyid { get; set; }
        [Column(Name = "forkeys"), SqlType(SqlTypeType.VarBinary, Length = 32)]
        public Binary Forkeys { get; set; }
        [Column(Name = "keycnt"), SqlType(SqlTypeType.SmallInt)]
        public short? Keycnt { get; set; }
        [Column(Name = "refkeys"), SqlType(SqlTypeType.VarBinary, Length = 32)]
        public Binary Refkeys { get; set; }
        [Column(Name = "rkey1"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey1 { get; set; }
        [Column(Name = "rkey10"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey10 { get; set; }
        [Column(Name = "rkey11"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey11 { get; set; }
        [Column(Name = "rkey12"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey12 { get; set; }
        [Column(Name = "rkey13"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey13 { get; set; }
        [Column(Name = "rkey14"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey14 { get; set; }
        [Column(Name = "rkey15"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey15 { get; set; }
        [Column(Name = "rkey16"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey16 { get; set; }
        [Column(Name = "rkey2"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey2 { get; set; }
        [Column(Name = "rkey3"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey3 { get; set; }
        [Column(Name = "rkey4"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey4 { get; set; }
        [Column(Name = "rkey5"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey5 { get; set; }
        [Column(Name = "rkey6"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey6 { get; set; }
        [Column(Name = "rkey7"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey7 { get; set; }
        [Column(Name = "rkey8"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey8 { get; set; }
        [Column(Name = "rkey9"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkey9 { get; set; }
        [Column(Name = "rkeydbid"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkeydbid { get; set; }
        [Column(Name = "rkeyid"), SqlType(SqlTypeType.Int)]
        public int? Rkeyid { get; set; }
        [Column(Name = "rkeyindid"), SqlType(SqlTypeType.SmallInt)]
        public short? Rkeyindid { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysremotelogins")]
    public sealed partial class SysRemoteLogins {

        #region Public Members
        [Column(Name = "changedate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Changedate { get; set; }
        [Column(Name = "remoteserverid"), SqlType(SqlTypeType.SmallInt)]
        public short? Remoteserverid { get; set; }
        [Column(Name = "remoteusername"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Remoteusername { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.SmallInt)]
        public short? Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysservers")]
    public sealed partial class SysServers {

        #region Public Members
        [Column(Name = "catalog"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Catalog { get; set; }
        [Column(Name = "collation"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Collation { get; set; }
        [Column(Name = "collationcompatible", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Collationcompatible { get; set; }
        [Column(Name = "connecttimeout"), SqlType(SqlTypeType.Int)]
        public int? Connecttimeout { get; set; }
        [Column(Name = "dataaccess", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Dataaccess { get; set; }
        [Column(Name = "datasource"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Datasource { get; set; }
        [Column(Name = "dist"), SqlType(SqlTypeType.Bit)]
        public bool? Dist { get; set; }
        [Column(Name = "dpub"), SqlType(SqlTypeType.Bit)]
        public bool? Dpub { get; set; }
        [Column(Name = "isremote"), SqlType(SqlTypeType.Bit)]
        public bool? Isremote { get; set; }
        [Column(Name = "lazyschemavalidation", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Lazyschemavalidation { get; set; }
        [Column(Name = "location"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Location { get; set; }
        [Column(Name = "nonsqlsub"), SqlType(SqlTypeType.Bit)]
        public bool? Nonsqlsub { get; set; }
        [Column(Name = "providername", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Providername { get; set; }
        [Column(Name = "providerstring"), SqlType(SqlTypeType.NVarChar, Length = 8000)]
        public string Providerstring { get; set; }
        [Column(Name = "pub", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Pub { get; set; }
        [Column(Name = "querytimeout"), SqlType(SqlTypeType.Int)]
        public int? Querytimeout { get; set; }
        [Column(Name = "rpc", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Rpc { get; set; }
        [Column(Name = "rpcout", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Rpcout { get; set; }
        [Column(Name = "schemadate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Schemadate { get; set; }
        [Column(Name = "srvcollation"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Srvcollation { get; set; }
        [Column(Name = "srvid"), SqlType(SqlTypeType.SmallInt)]
        public short? Srvid { get; set; }
        [Column(Name = "srvname", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Srvname { get; set; }
        [Column(Name = "srvnetname"), SqlType(SqlTypeType.Char, Length = 30)]
        public string Srvnetname { get; set; }
        [Column(Name = "srvproduct", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Srvproduct { get; set; }
        [Column(Name = "srvstatus"), SqlType(SqlTypeType.SmallInt)]
        public short? Srvstatus { get; set; }
        [Column(Name = "sub"), SqlType(SqlTypeType.Bit)]
        public bool? Sub { get; set; }
        [Column(Name = "system", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool System { get; set; }
        [Column(Name = "topologyx"), SqlType(SqlTypeType.Int)]
        public int? Topologyx { get; set; }
        [Column(Name = "topologyy"), SqlType(SqlTypeType.Int)]
        public int? Topologyy { get; set; }
        [Column(Name = "useremotecollation", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Useremotecollation { get; set; }
        #endregion
    }
    [Table(Name = "sys.systypes")]
    public sealed partial class SysTypes {

        #region Public Members
        [Column(Name = "allownulls"), SqlType(SqlTypeType.Bit)]
        public bool? Allownulls { get; set; }
        [Column(Name = "collation"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Collation { get; set; }
        [Column(Name = "collationid"), SqlType(SqlTypeType.Int)]
        public int? Collationid { get; set; }
        [Column(Name = "domain", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Domain { get; set; }
        [Column(Name = "length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Length { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "prec"), SqlType(SqlTypeType.SmallInt)]
        public short? Prec { get; set; }
        [Column(Name = "printfmt"), SqlType(SqlTypeType.VarChar, Length = 255)]
        public string Printfmt { get; set; }
        [Column(Name = "reserved"), SqlType(SqlTypeType.SmallInt)]
        public short? Reserved { get; set; }
        [Column(Name = "scale"), SqlType(SqlTypeType.TinyInt)]
        public byte? Scale { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.TinyInt)]
        public byte? Status { get; set; }
        [Column(Name = "tdefault", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Tdefault { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "uid"), SqlType(SqlTypeType.SmallInt)]
        public short? Uid { get; set; }
        [Column(Name = "usertype"), SqlType(SqlTypeType.SmallInt)]
        public short? Usertype { get; set; }
        [Column(Name = "variable", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool Variable { get; set; }
        [Column(Name = "xprec", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Xprec { get; set; }
        [Column(Name = "xscale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Xscale { get; set; }
        [Column(Name = "xtype", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Xtype { get; set; }
        [Column(Name = "xusertype"), SqlType(SqlTypeType.SmallInt)]
        public short? Xusertype { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysusers")]
    public sealed partial class SysUsers {

        #region Public Members
        [Column(Name = "altuid"), SqlType(SqlTypeType.SmallInt)]
        public short? Altuid { get; set; }
        [Column(Name = "createdate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Createdate { get; set; }
        [Column(Name = "environ"), SqlType(SqlTypeType.VarChar, Length = 255)]
        public string Environ { get; set; }
        [Column(Name = "gid"), SqlType(SqlTypeType.SmallInt)]
        public short? Gid { get; set; }
        [Column(Name = "hasdbaccess"), SqlType(SqlTypeType.Int)]
        public int? Hasdbaccess { get; set; }
        [Column(Name = "isaliased"), SqlType(SqlTypeType.Int)]
        public int? Isaliased { get; set; }
        [Column(Name = "isapprole"), SqlType(SqlTypeType.Int)]
        public int? Isapprole { get; set; }
        [Column(Name = "islogin"), SqlType(SqlTypeType.Int)]
        public int? Islogin { get; set; }
        [Column(Name = "isntgroup"), SqlType(SqlTypeType.Int)]
        public int? Isntgroup { get; set; }
        [Column(Name = "isntname"), SqlType(SqlTypeType.Int)]
        public int? Isntname { get; set; }
        [Column(Name = "isntuser"), SqlType(SqlTypeType.Int)]
        public int? Isntuser { get; set; }
        [Column(Name = "issqlrole"), SqlType(SqlTypeType.Int)]
        public int? Issqlrole { get; set; }
        [Column(Name = "issqluser"), SqlType(SqlTypeType.Int)]
        public int? Issqluser { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "password"), SqlType(SqlTypeType.VarBinary, Length = 256)]
        public Binary Password { get; set; }
        [Column(Name = "roles"), SqlType(SqlTypeType.VarBinary, Length = 2048)]
        public Binary Roles { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.SmallInt)]
        public short? Status { get; set; }
        [Column(Name = "uid"), SqlType(SqlTypeType.SmallInt)]
        public short? Uid { get; set; }
        [Column(Name = "updatedate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Updatedate { get; set; }
        #endregion
    }
    #endregion

    #region Undocumented
    [Table(Name = "sys.sysbinsubobjs")]
    public sealed partial class SysBinSubObjs {

        #region Public Members
        [Column(Name = "class", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Class { get; set; }
        [Column(Name = "idmajor", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Idmajor { get; set; }
        [Column(Name = "intprop", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Intprop { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "subid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Subid { get; set; }
        #endregion
    }
    [Table(Name = "sys.syschildinsts")]
    public sealed partial class SysChildInsts {

        #region Public Members
        [Column(Name = "crdate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Crdate { get; set; }
        [Column(Name = "iname", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Iname { get; set; }
        [Column(Name = "ipipename", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Ipipename { get; set; }
        [Column(Name = "lsid", CanBeNull = false), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Lsid { get; set; }
        [Column(Name = "modate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modate { get; set; }
        [Column(Name = "pid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Pid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "sysdbpath", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 520)]
        public string Sysdbpath { get; set; }
        #endregion
    }
    [Table(Name = "sys.syscursorcolumns")]
    public sealed partial class SysCursorColumns {

        #region Public Members
        [Column(Name = "column_characteristics_flags", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnCharacteristicsFlags { get; set; }
        [Column(Name = "column_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string ColumnName { get; set; }
        [Column(Name = "column_precision", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte ColumnPrecision { get; set; }
        [Column(Name = "column_scale", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte ColumnScale { get; set; }
        [Column(Name = "column_size", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ColumnSize { get; set; }
        [Column(Name = "columnid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Columnid { get; set; }
        [Column(Name = "cursor_handle", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CursorHandle { get; set; }
        [Column(Name = "data_type_sql", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int DataTypeSql { get; set; }
        [Column(Name = "dbid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Dbid { get; set; }
        [Column(Name = "dbname"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Dbname { get; set; }
        [Column(Name = "hidden_column", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short HiddenColumn { get; set; }
        [Column(Name = "objectid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Objectid { get; set; }
        [Column(Name = "order_direction"), SqlType(SqlTypeType.NVarChar, Length = 2)]
        public string OrderDirection { get; set; }
        [Column(Name = "order_position", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int OrderPosition { get; set; }
        [Column(Name = "ordinal_position", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int OrdinalPosition { get; set; }
        #endregion
    }
    [Table(Name = "sys.syscursorrefs")]
    public sealed partial class SysCursorRefs {

        #region Public Members
        [Column(Name = "cursor_handl", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CursorHandl { get; set; }
        [Column(Name = "cursor_scope", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte CursorScope { get; set; }
        [Column(Name = "reference_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string ReferenceName { get; set; }
        #endregion
    }
    [Table(Name = "sys.syscursors")]
    public sealed partial class SysCursors {

        #region Public Members
        [Column(Name = "column_count", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short ColumnCount { get; set; }
        [Column(Name = "concurrency", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Concurrency { get; set; }
        [Column(Name = "cursor_handle", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CursorHandle { get; set; }
        [Column(Name = "cursor_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string CursorName { get; set; }
        [Column(Name = "cursor_rows"), SqlType(SqlTypeType.Numeric, Precision = 10, Scale = 0)]
        public decimal? CursorRows { get; set; }
        [Column(Name = "fetch_status", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short FetchStatus { get; set; }
        [Column(Name = "last_operation", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte LastOperation { get; set; }
        [Column(Name = "model", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Model { get; set; }
        [Column(Name = "open_status", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte OpenStatus { get; set; }
        [Column(Name = "row_count"), SqlType(SqlTypeType.Numeric, Precision = 10, Scale = 0)]
        public decimal? RowCount { get; set; }
        [Column(Name = "scrollable", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scrollable { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.syscursortables")]
    public sealed partial class SysCursorTables {

        #region Public Members
        [Column(Name = "cursor_handle", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int CursorHandle { get; set; }
        [Column(Name = "dbid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Dbid { get; set; }
        [Column(Name = "dbname"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Dbname { get; set; }
        [Column(Name = "lock_type", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short LockType { get; set; }
        [Column(Name = "objectid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Objectid { get; set; }
        [Column(Name = "optimizer_hint", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short OptimizerHint { get; set; }
        [Column(Name = "server_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string ServerName { get; set; }
        [Column(Name = "table_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string TableName { get; set; }
        [Column(Name = "table_owner"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string TableOwner { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysfiles1")]
    public sealed partial class SysFiles1 {

        #region Public Members
        [Column(Name = "fileid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Fileid { get; set; }
        [Column(Name = "filename", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 520)]
        public string Filename { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysftinds")]
    public sealed partial class SysFtinds {

        #region Public Members
        [Column(Name = "crend"), SqlType(SqlTypeType.DateTime)]
        public DateTime? Crend { get; set; }
        [Column(Name = "crerrors", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Crerrors { get; set; }
        [Column(Name = "crrows", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Crrows { get; set; }
        [Column(Name = "crschver", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary Crschver { get; set; }
        [Column(Name = "crstart"), SqlType(SqlTypeType.DateTime)]
        public DateTime? Crstart { get; set; }
        [Column(Name = "crtsnext"), SqlType(SqlTypeType.Binary)]
        public Binary Crtsnext { get; set; }
        [Column(Name = "crtype", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Crtype { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "indid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Indid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysidxstats")]
    public sealed partial class SysIdxStats {

        #region Public Members
        [Column(Name = "dataspace", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Dataspace { get; set; }
        [Column(Name = "fillfact", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Fillfact { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "indid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Indid { get; set; }
        [Column(Name = "intprop", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Intprop { get; set; }
        [Column(Name = "lobds", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Lobds { get; set; }
        [Column(Name = "name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "rowset", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Rowset { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "tinyprop", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Tinyprop { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysoledbusers")]
    public sealed partial class SysOleDbUsers {

        #region Public Members
        [Column(Name = "changedate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Changedate { get; set; }
        [Column(Name = "loginsid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Loginsid { get; set; }
        [Column(Name = "rmtloginame"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Rmtloginame { get; set; }
        [Column(Name = "rmtpassword"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Rmtpassword { get; set; }
        [Column(Name = "rmtsrvid"), SqlType(SqlTypeType.SmallInt)]
        public short? Rmtsrvid { get; set; }
        [Column(Name = "status"), SqlType(SqlTypeType.SmallInt)]
        public short? Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysopentapes")]
    public sealed partial class SysOpenTapes {

        #region Public Members
        [Column(Name = "openTape", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 128)]
        public string OpenTape { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysrts")]
    public sealed partial class SysRts {

        #region Public Members
        [Column(Name = "addr"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Addr { get; set; }
        [Column(Name = "brkrinst"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Brkrinst { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "lifetime"), SqlType(SqlTypeType.DateTime)]
        public DateTime? Lifetime { get; set; }
        [Column(Name = "miraddr"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Miraddr { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "remsvc"), SqlType(SqlTypeType.NVarChar, Length = 512)]
        public string Remsvc { get; set; }
        #endregion
    }
    [Table(Name = "sys.syssegments")]
    public sealed partial class SysSegments {

        #region Public Members
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.VarChar, Length = 10)]
        public string Name { get; set; }
        [Column(Name = "segment", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Segment { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.syssqlguides")]
    public sealed partial class SysSqlGuides {

        #region Public Members
        [Column(Name = "created", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Created { get; set; }
        [Column(Name = "hash"), SqlType(SqlTypeType.VarBinary, Length = 20)]
        public Binary Hash { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "modified", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modified { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "scopeid", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Scopeid { get; set; }
        [Column(Name = "scopetype", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Scopetype { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysusermsgs")]
    public sealed partial class SysUserMsgs {

        #region Public Members
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "msglangid", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Msglangid { get; set; }
        [Column(Name = "severity", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Severity { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short Status { get; set; }
        [Column(Name = "text", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 2048)]
        public string Text { get; set; }
        #endregion
    }
    [Table(Name = "sys.sysxlgns")]
    public sealed partial class SysXLgns {

        #region Public Members
        [Column(Name = "crdate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Crdate { get; set; }
        [Column(Name = "dbname"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Dbname { get; set; }
        [Column(Name = "id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Id { get; set; }
        [Column(Name = "lang"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Lang { get; set; }
        [Column(Name = "modate", CanBeNull = false), SqlType(SqlTypeType.DateTime)]
        public DateTime Modate { get; set; }
        [Column(Name = "name", CanBeNull = false), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string Name { get; set; }
        [Column(Name = "pwdhash"), SqlType(SqlTypeType.VarBinary, Length = 256)]
        public Binary Pwdhash { get; set; }
        [Column(Name = "sid"), SqlType(SqlTypeType.VarBinary, Length = 85)]
        public Binary Sid { get; set; }
        [Column(Name = "status", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int Status { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.Char, Length = 1)]
        public string Type { get; set; }
        #endregion
    }
    #endregion

    #region Internal
    [Table(Name = "sys.system_internals_allocation_units")]
    public sealed partial class SystemInternalsAllocationUnits {

        #region Public Members
        [Column(Name = "allocation_unit_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long AllocationUnitId { get; set; }
        [Column(Name = "container_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long ContainerId { get; set; }
        [Column(Name = "data_pages", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long DataPages { get; set; }
        [Column(Name = "filegroup_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short FilegroupId { get; set; }
        [Column(Name = "first_iam_page", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary FirstIamPage { get; set; }
        [Column(Name = "first_page", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary FirstPage { get; set; }
        [Column(Name = "root_page", CanBeNull = false), SqlType(SqlTypeType.Binary)]
        public Binary RootPage { get; set; }
        [Column(Name = "total_pages", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long TotalPages { get; set; }
        [Column(Name = "type", CanBeNull = false), SqlType(SqlTypeType.TinyInt)]
        public byte Type { get; set; }
        [Column(Name = "type_desc"), SqlType(SqlTypeType.NVarChar, Length = 120)]
        public string TypeDesc { get; set; }
        [Column(Name = "used_pages", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long UsedPages { get; set; }
        #endregion
    }
    [Table(Name = "sys.system_internals_partition_columns")]
    public sealed partial class SystemInternalsPartitionColumns {

        #region Public Members
        [Column(Name = "collation_name"), SqlType(SqlTypeType.NVarChar, Length = 256)]
        public string CollationName { get; set; }
        [Column(Name = "internal_bit_position"), SqlType(SqlTypeType.TinyInt)]
        public byte? InternalBitPosition { get; set; }
        [Column(Name = "internal_null_bit"), SqlType(SqlTypeType.SmallInt)]
        public short? InternalNullBit { get; set; }
        [Column(Name = "internal_offset"), SqlType(SqlTypeType.SmallInt)]
        public short? InternalOffset { get; set; }
        [Column(Name = "is_anti_matter"), SqlType(SqlTypeType.Bit)]
        public bool? IsAntiMatter { get; set; }
        [Column(Name = "is_descending_key"), SqlType(SqlTypeType.Bit)]
        public bool? IsDescendingKey { get; set; }
        [Column(Name = "is_dropped", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsDropped { get; set; }
        [Column(Name = "is_filestream"), SqlType(SqlTypeType.Bit)]
        public bool? IsFilestream { get; set; }
        [Column(Name = "is_logged_for_replication", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsLoggedForReplication { get; set; }
        [Column(Name = "is_nullable"), SqlType(SqlTypeType.Bit)]
        public bool? IsNullable { get; set; }
        [Column(Name = "is_replicated", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsReplicated { get; set; }
        [Column(Name = "is_uniqueifier"), SqlType(SqlTypeType.Bit)]
        public bool? IsUniqueifier { get; set; }
        [Column(Name = "key_ordinal"), SqlType(SqlTypeType.SmallInt)]
        public short? KeyOrdinal { get; set; }
        [Column(Name = "leaf_bit_position"), SqlType(SqlTypeType.TinyInt)]
        public byte? LeafBitPosition { get; set; }
        [Column(Name = "leaf_null_bit"), SqlType(SqlTypeType.SmallInt)]
        public short? LeafNullBit { get; set; }
        [Column(Name = "leaf_offset"), SqlType(SqlTypeType.SmallInt)]
        public short? LeafOffset { get; set; }
        [Column(Name = "max_inrow_length", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short MaxInrowLength { get; set; }
        [Column(Name = "max_length"), SqlType(SqlTypeType.SmallInt)]
        public short? MaxLength { get; set; }
        [Column(Name = "modified_count", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long ModifiedCount { get; set; }
        [Column(Name = "partition_column_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PartitionColumnId { get; set; }
        [Column(Name = "partition_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PartitionId { get; set; }
        [Column(Name = "precision"), SqlType(SqlTypeType.TinyInt)]
        public byte? Precision { get; set; }
        [Column(Name = "scale"), SqlType(SqlTypeType.TinyInt)]
        public byte? Scale { get; set; }
        [Column(Name = "system_type_id"), SqlType(SqlTypeType.TinyInt)]
        public byte? SystemTypeId { get; set; }
        #endregion
    }
    [Table(Name = "sys.system_internals_partitions")]
    public sealed partial class SystemInternalsPartitions {

        #region Public Members
        [Column(Name = "allow_page_locks"), SqlType(SqlTypeType.Bit)]
        public bool? AllowPageLocks { get; set; }
        [Column(Name = "allow_row_locks"), SqlType(SqlTypeType.Bit)]
        public bool? AllowRowLocks { get; set; }
        [Column(Name = "allows_nullable_keys"), SqlType(SqlTypeType.Bit)]
        public bool? AllowsNullableKeys { get; set; }
        [Column(Name = "dropped_lob_column_state"), SqlType(SqlTypeType.TinyInt)]
        public byte? DroppedLobColumnState { get; set; }
        [Column(Name = "filestream_filegroup_id", CanBeNull = false), SqlType(SqlTypeType.SmallInt)]
        public short FilestreamFilegroupId { get; set; }
        [Column(Name = "index_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int IndexId { get; set; }
        [Column(Name = "is_data_row_format"), SqlType(SqlTypeType.Bit)]
        public bool? IsDataRowFormat { get; set; }
        [Column(Name = "is_logged_for_replication", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsLoggedForReplication { get; set; }
        [Column(Name = "is_not_versioned"), SqlType(SqlTypeType.Bit)]
        public bool? IsNotVersioned { get; set; }
        [Column(Name = "is_orphaned"), SqlType(SqlTypeType.Bit)]
        public bool? IsOrphaned { get; set; }
        [Column(Name = "is_replicated", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsReplicated { get; set; }
        [Column(Name = "is_unique", CanBeNull = false), SqlType(SqlTypeType.Bit)]
        public bool IsUnique { get; set; }
        [Column(Name = "max_internal_length"), SqlType(SqlTypeType.SmallInt)]
        public short? MaxInternalLength { get; set; }
        [Column(Name = "max_leaf_length"), SqlType(SqlTypeType.Int)]
        public int? MaxLeafLength { get; set; }
        [Column(Name = "max_null_bit_used"), SqlType(SqlTypeType.SmallInt)]
        public short? MaxNullBitUsed { get; set; }
        [Column(Name = "min_internal_length"), SqlType(SqlTypeType.SmallInt)]
        public short? MinInternalLength { get; set; }
        [Column(Name = "min_leaf_length"), SqlType(SqlTypeType.SmallInt)]
        public short? MinLeafLength { get; set; }
        [Column(Name = "object_id", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int ObjectId { get; set; }
        [Column(Name = "partition_id", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long PartitionId { get; set; }
        [Column(Name = "partition_number", CanBeNull = false), SqlType(SqlTypeType.Int)]
        public int PartitionNumber { get; set; }
        [Column(Name = "rows", CanBeNull = false), SqlType(SqlTypeType.BigInt)]
        public long Rows { get; set; }
        #endregion
    }
    #endregion
}
